Bonjour,
Question perf: quand est ce que on lance:
Après le chargement d'une grosse table plusieurs dizaines de milliers de lignes par exemple: faut faire un OPTIMIZER TABLE ?Code:ANALYSE TABLE et/ou OPTIMIZER TABLE ?
MERCI.
A+
Version imprimable
Bonjour,
Question perf: quand est ce que on lance:
Après le chargement d'une grosse table plusieurs dizaines de milliers de lignes par exemple: faut faire un OPTIMIZER TABLE ?Code:ANALYSE TABLE et/ou OPTIMIZER TABLE ?
MERCI.
A+
Bonjour,
Si on charge une table à partir d'un LOAD DATA LOCAL INFILE depuis un fichier très volumineux (plusieurs dizaines de millions de lignes) mais dont le contenu est trié selon l'index cluster de la table chargée, alors faire un OPTIMIZE TABLE après chargement ne sert à rien puisque les données sont déjà idéalement triées.
À l'inverse, si on charge le même nombre de lignes, mais à partir d'un fichier ou d'une source non triée selon l'index cluster, là oui, un OPTIMIZE TABLE se justifie.
La mise à jour des statistiques se fait automatiquement à partir du moment où 10% des lignes au moins sont modifiées, mais il existe un bug (à moins que la V8 l'ait corrigé) qui initialise le compteur de lignes modifiées quand le serveur MySQL est redémarré. Du coup, exécuter un ANALYZE TABLE peut être utile.
Merci bien.
MySQL ne propose pas de vues système comme SQL Server et Oracle pour voir s'il faut réorganiser/reconstruire les index ...
A+