PHP - Optimiser MySQL

Publié le 23 avril 2010 par Gpenverne
MySQL est très souvent utilisé pour concevoir des sites dynamiques. Le problème se pose lorsque le site en question devient de plus en plus visité (ou alors lorsqu'il comprend des scripts habituellement gros consommateurs en MySQL lorsqu'ils ne sont pas optimisés, tels que certains forums par exemple). Il arrive alors souvent que le serveur ne supporte plus la charge imposée par les clients. Au mieux vous aurez une erreur de "max_user_connections" résolvable assez facilement si vos requêtes sont mal conçues, au pire vous pouvez avoir un plantage du serveur MySQL qui n'arrive plus à répondre face aux requêtes qui lui sont adressées. Face à ces problèmes il existe plusieurs solutions. De nombreux webmasters préfèrent directement changer le serveur (ou augmenter ses capacités) sans se poser de questions. Il est évident qu'avant de changer le serveur pour un plus puissant, il faut regarder si les requêtes MySQL sont bien conçues au lieu de foncer sur un changement de matériel sans réflexion préalable, d'une part car optimiser un script est "gratuit" comparé à l'achat ou à l'upgrade d'un ou de plusieurs serveurs, d'autre part car face à un script très mal optimisé, l'augmentation des capacités matérielles a une limite. Nous allons donc tout d'abord dans cet article présenter les quelques erreurs pouvant être simplement réparées en ajoutant un index ou en modifiant une ou deux lignes dans un script PHP, puis nous passerons au "lourd", à savoir des propositions d'amélioration de structures de table MySQL en fonction de cas concrets. Nous supposerons que les champs de vos tables MySQL utilisent des types appropriés à leur contenu. Voir l'article original : http://www.vulgarisation-informatique.com/optimiser-mysql.php