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

La creazione dell'indice può utilizzare gli indici esistenti?

MySQL di solito ricostruisce l'intera tabella quando aggiungi un indice, quindi anche tutti quelli esistenti vengono ricostruiti. Questo può essere lento.

L'unica eccezione è l'aggiunta di un indice utilizzando il plug-in InnoDB, che non lo fa.

Per quanto ne so, esegue sempre una scansione completa della tabella durante la creazione di un indice, tuttavia POTREBBE eseguire una scansione dell'indice se si aggiungesse un indice con le stesse (o un sottoinsieme) di colonne di un altro indice. Tali indici sono normalmente utili solo se le colonne sono in un ordine diverso.

Usando stock mysql, più indici hai, più lento sarà crearne uno nuovo, poiché ricostruisce anche gli indici esistenti.

Con il plugin, penso che non faccia alcuna differenza.

Ad ogni modo, se hai intenzione di aggiungere più indici, dovresti eseguirli tutti in una volta, non uno alla volta.