Indeksy i kolejność MySQL
To jest pytanie, które miałem na zawsze.
O ile wiem kolejność wskaźników ma znaczenie. Więc indeks jak[first_name, last_name]
nie jest taki sam jak[last_name, first_name]
, dobrze?
Jeśli zdefiniuję tylko pierwszy indeks, to znaczy, że będzie używany tylko dla
SELECT * FROM table WHERE first_name="john" AND last_name="doe";
i nie dla
SELECT * FROM table WHERE last_name="doe" AND first_name="john";
Ponieważ używam ORM, nie mam pojęcia, w jakiej kolejności te kolumny będą wywoływane. Czy to oznacza, że muszę dodawać indeksy na wszystkich permutacjach? Jest to wykonalne, jeśli mam indeks 2-kolumnowy, ale co się stanie, jeśli mój indeks ma 3 lub 4 kolumny?