TAK, to ma znaczenie!
Indeks może być stosowane, jeśli zapytanie zawiera n lewej większość kolumn tego indeksu.
więc ze swojej pierwszej wersji indeksu MultiFieldIndex_1
, to może być stosowane, jeśli
- korzystać ze wszystkich czterech kolumn
- Użyj kolumn A, B, C
- stosowanie kolumn A, B
- użycie kolumna a
ale będzie NIE kiedykolwiek uznać jeśli używasz
- tylko kolumna D
- kolumn C i D itp
jednak swoją drugą wersję indeksu może być wykorzystane jeśli Podaj tylko D
lub D
i C
- ale będzie to nigdy nigdy być używany, jeśli tylko określić A
i B
Tylko jeśli zawsze użycie wszystkie kolumny, które są zdefiniowane w indeksie, to kolejność, w jakiej są one zdefiniowane staje się (prawie) bez znaczenia (nadal istnieją pewne niuanse dotyczące zamawiania przez najwyższą selektywność itp., ale są o wiele mniej ważne niż fakt, że indeks nie zostanie nigdy użyty, jeśli nie określisz n kolumn znajdujących się najbardziej po lewej stronie w twoich SELECT
wyciągach)
Według zapytania, które masz na myśli kolumny w klauzuli WHERE mają rację? – cvraman
@vvraman tak. masz rację – siddhartha