Optimisation de MySQL à l'aide d'index
Un index de base de données est une structure de données qui améliore la vitesse des opérations dans une table.
Chaque fois que votre application web exécute une requête dans une base de données, la base de données parcourt toutes les lignes de votre table pour trouver celles qui correspondent à votre requête. Au fur et à mesure que les tables de votre base de données grossissent, un nombre croissant de lignes doivent être inspectées à chaque fois, ce qui peut ralentir les performances globales de la base de données et respectivement de votre application.
Les index MySQL résolvent ce problème en prenant des données dans une colonne de votre table et en les stockant par ordre alphabétique dans un emplacement séparé appelé index. Pour en savoir plus, cliquez ici.
Les index peuvent être créés facilement via phpMyAdmin dans votre Site Tools . Vous trouverez ci-dessous un exemple d’un tel index:
Prenons un exemple de tableau appelé « sample » avec seulement deux lignes – « number » et « employee ». Si vous exécutez une requête SQL simple telle que:
SELECT * FROM échantillon WHERE nombre = 4;
MySQL vérifiera tous les enregistrements et ne retournera que celui dont la valeur numérique est fixée à 4.
Mais si vous avez plusieurs milliers d’entrées, par exemple, la requête sera lente. Dans ce cas, nous avons un champ unique – « number ». Par conséquent, nous pouvons créer un index pour lui. L’indexation créera un registre interne qui sera enregistré par le service MySQL. Cela peut être fait avec la requête suivante:
ALTER TABLE exemple ADD INDEX (nombre);
Une fois cet index défini, la prochaine fois que vous voudrez obtenir les informations pour l’employé numéro 4, le service ira directement à celui-ci en utilisant l’index et renverra les informations beaucoup plus rapidement.
Ceci est juste un exemple très basique. Pour les bases de données plus volumineuses, la différence de temps de chargement peut être importante. Indexer votre base de données peut réduire considérablement le temps de chargement de vos applications web.
Il existe une autre requête que vous pouvez utiliser pour augmenter la vitesse de chargement de votre base de données:
OPTIMIZE TABLE échantillon;
Vous pouvez également consulter le tutoriel ci-dessous qui vous aidera à réparer/optimiser votre base de données en utilisant phpMyAdmin: