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

Quando devono essere ricostruiti gli indici del database?

Non è necessario "ricostruire" un indice. Sono sempre aggiornati. Forse si riferiva alla ricostruzione del tavolo. A seconda dei tuoi schemi di utilizzo e schema, puoi ottenere pagine frammentate in InnoDB e penso anche in MyISAM. La ricostruzione della tabella può migliorare le prestazioni eliminando la frammentazione dei dati su disco. Non uso regolarmente le tabelle MyISAM, ma credo che sia consigliabile eseguire "OPTIMIZE TABLE" con determinati modelli di utilizzo. Consulta i documenti MySQL su OPTIMIZE TABLE per alcune buone informazioni sia su MyISAM che su InnoDB.

Non ho molta familiarità con le complessità di MyISAM, ma con InnoDB è vero che le statistiche possono diventare obsolete. Il database conserva statistiche stimate su come vengono distribuiti i dati per un determinato indice ed è possibile che non siano aggiornati, ma MySQL/InnoDB ha alcune funzionalità integrate per cercare di mantenere aggiornate le statistiche. Di solito non devi preoccuparti di questo.

Quindi, se stai usando InnoDB, la risposta è no, in genere non devi fare nulla attivamente per mantenere i tuoi indici in buone condizioni. Non sono così sicuro con MyISAM, penso che sia più comune dover ottimizzare regolarmente quelle tabelle.