Czy kolejność kolumn w indeksie objętym ochroną w Sybase wpływa na wydajność?
Mamy duży stół z kilkoma indeksami (powiedzmy I1-I5).
Wzór użycia jest następujący:
Aplikacja A: wszystkie wybrane zapytania 100% używają indeksów I1-I4 (załóżmy, że są zaprojektowane na tyle dobrze, że nigdy nie będą używać I5).
Aplikacja B: ma tylko jedno zapytanie wyboru (dość często uruchamiane), które zawiera 6 pól i dla których utworzono piąty indeks I5 jako indeks objęty.
Pierwsze 2 pola indeksu objętego ochroną to data i identyfikator bezpieczeństwa. Tabela zawiera wiersze dla ~ 100 dat (w kolejności daty, wymuszone przez indeks klastrowany I1) i dziesiątki tysięcy identyfikatorów zabezpieczeń.
Pytanie: umiera kolejność kolumn w indeksie objętym zakresem wpływa na wydajność wybranego zapytania w aplikacji B?
To znaczy, czy wydajność zapytania zmieniłaby się, gdybyśmy zmienili pierwsze dwa pola indeksu (data i identyfikator bezpieczeństwa)? Czy wydajność zapytania zmieni się, jeśli zmienimy jedno z ostatnich pól?
Zakładam, że logiczne IO pozostaną bez wpływu na kolejność pól w indeksie objętym ochroną (chociaż nie jestem w 100% pewna).
Ale czy będą inne efekty wydajnościowe? (Szybkość optymalizacji, buforowanie itp.)
Pytanie jest ogólne, ale jeśli ma znaczenie, używamy Sybase 12.
Niestety tabela jest tak ogromna, że zmiana indeksu w praktyce i ilościowe potwierdzenie skutków zmiany jest niezwykle trudna.