Afin de gagner à la fois en performance et en espace disque sur une base de données, quel que soit son type, il est judicieux d'utiliser le format des champs le plus adapté.
MySQL dispose d'une commande particulière, PROCEDURE ANALYSE, permettant de parcourir une partie ou l'intégralité des lignes d'une table afin de déterminer, pour chaque champ, le type à utiliser permettant de couvrir tous les cas.
La commande s'écrit ainsi et est à exécuter pour chaque table à analyser :
Elle prend 2 paramètres optionnels : le nombre de lignes maximum à évaluer et la quantité de mémoire à utiliser pour l'évaluation. Plus de détails sur le site de MySQL.
Un exemple de résultat proposé par la commande :
Il faut bien faire attention car les résultats dépendront des données en base ou de l'échantillon sur lequel l'analyse est faite.
Les index créés sur une table occupent un certain espace disque. Il faut donc s'assurer que cet espace est nécessaire. La requête suivante permet d'afficher l'occupation disque des données et des index d'une table donnée :
Il faut remplacer matable et mabase par la table à analyser. Si des index occupent beaucoup de place, il faut se poser la question de leur utilité : sont-ils vraiment utilisés ? La requête suivante affiche les index inutilisés depuis le démarrage de MySQL :
En croisant ces 2 informations, on a ainsi la taille disque des index inutilisés (depuis le démarrage de MySQL) :
RSS | Informations |