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

Índices múltiplos e únicos


Sim, pelo menos um caso é consideravelmente mais lento. Se você definir apenas o seguinte índice:
ALTER TABLE ... ADD INDEX (a, b);

... então a consulta SELECT * FROM ... WHERE B = 1; não usará esse índice.

Quando você cria um índice com uma chave composta, a ordem das colunas da chave é importante. Recomenda-se tentar ordenar as colunas na chave para aumentar a seletividade, com as colunas mais seletivas à esquerda da chave. Se você não fizer isso e colocar uma coluna não seletiva como a primeira parte da chave, você corre o risco de não usar o índice. (Fonte:Dicas sobre como otimizar o índice composto do SQL Server )