Mysql
 sql >> Database >  >> RDS >> Mysql

Indici multipli e singoli

Sì, almeno un caso è notevolmente più lento. Se definisci solo il seguente indice:

ALTER TABLE ... ADD INDEX (a, b);

... quindi la query SELECT * FROM ... WHERE B = 1; non utilizzerà quell'indice.

Quando crei un indice con una chiave composta, l'ordine delle colonne della chiave è importante. Si consiglia di provare a ordinare le colonne nella chiave per aumentare la selettività, con le colonne più selettive all'estrema sinistra della chiave. Se non lo fai e inserisci una colonna non selettiva come prima parte della chiave, rischi di non utilizzare affatto l'indice. (Fonte:Suggerimenti sull'ottimizzazione dell'indice composito di SQL Server )