Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Qual coluna colocar primeiro no índice? Maior ou menor cardinalidade?


As pesquisas de índice composto do MySQL devem ocorrer na ordem em que as colunas são definidas no índice. Como você quer que o MySQL seja capaz de discriminar entre registros realizando o mínimo de comparações possível, com todas as outras coisas sendo iguais, você se beneficiará mais de um índice composto no qual as colunas são ordenadas da maior para a menor cardinalidade.

Ou seja, supondo que as comparações devam ser realizadas com a coluna de cardinalidade mais alta para discriminar registros, por que forçar as comparações a ocorrerem primeiro com a coluna de cardinalidade mais baixa quando, em última análise, isso pode ser desnecessário?