Índices e ordem do MySQL
Esta é uma pergunta que eu tive para sempre.
Tanto quanto sei, a ordem dos índices é importante. Então, um índice como[first_name, last_name]
não é o mesmo que[last_name, first_name]
, certo?
Se eu definir apenas o primeiro índice, isso significa que ele será usado apenas para
SELECT * FROM table WHERE first_name="john" AND last_name="doe";
e não para
SELECT * FROM table WHERE last_name="doe" AND first_name="john";
Como estou usando um ORM, não tenho ideia de qual ordem essas colunas serão chamadas. Isso significa que eu tenho que adicionar índices em todas as permutações? Isso é factível se eu tiver um índice de duas colunas, mas o que acontece se meu índice estiver em 3 ou 4 colunas?