LWS vous donne ici quelques principes de base, vous permettant d’optimiser vos bases de données Mysql.

Ces quelques conseils vous permettront d’augmenter la rapidité d’affichage de vos pages, de faciliter la gestion de votre site web et de simplifier vos requêtes Mysql.

1 )  Optimisation de vos bases de données Mysql

  • Indexer la base :

L’utilisation d’un index simplifie et accélère les opérations de recherche dans votre base de données.

Exemple : Si vous désirez faire une recherche de personne par rapport à la ville, alors il sera utile d’indexer le champ  » ville  » avec la requête suivante :

———————————————————————–
ALTER TABLE `test` ADD INDEX ( `ville` );
———————————————————————–

  • Purger la base :

Il n’est généralement pas utile de garder des données Mysql datant de plusieurs années … Afin d’alléger votre base de données, n’hésitez pas à faire du tri régulièrement !

2) Optimisations de vos scripts

  • Limiter l’affichage :

Le simple fait de limiter l’affichage des enregistrements peut vous permettre de gagner un temps de réponse considérable.

Exemple :  limitez à 10 par page avec la partie LIMIT de la requête.

  • Regrouper les requêtes :

Regrouper vos requêtes en début de script vous permettra d’accélerer le temps de réponse de votre script.

Exemple :

————————————-
connexion_base
requete1
requete2

deconnexion_base

Affichage …
Traitement des donnees
Boucles …
Affichage …

———————————-

  • Faire du cache :

Le système de cache permet à Mysql de sauver des résultats : si vos tables ne changent pas fréquemment et que vos requêtes sont souvent les mêmes, alors ce système vous permettra de gagner un temps de réponse important.

Exemple 1 : pour chaque nouveau post de votre blog, générez un fichier cache en html, ainsi chaque nouveau visiteur de votre nouveau post n’obligera pas le serveur Mysql à travailler et donc affichera le post beaucoup plus rapidement.

Exemple 2 : Le cache de session ( = mettre les résultats des requêtes en variable de session ) vous permettra de ne pas exécuter la requête à chaque demande.

  • Prendre uniquement le nécessaire :

Afin d’optimiser vos requêtes SQL, ne prenez que ce dont vous avez besoin, cela allégera considérablement la charge du serveur.

  • Faire des liaisons entre les tables :

Lors de vos requêtes, n’oubliez pas de faire des liaisons entre vos tables. Faute de quoi vous risquez de subir un temps de réponse plus long que nécessaire.

Exemple :

———————————————————————-
where table1.champs = table2.champs2
———————————————————————–

  • Éviter les options trop gourmandes :

Sauf si c’est indispensable, évitez les options telles que HAVING et GROUP BY, qui rallongent considérablement le temps de réponse des scripts.