Accélérer la restauration de base de donnée MySQL & désactivation des caches

Si vous utilisez le moteur de stockage InnoDB de MySQL il peut être intéressant lors de la restauration d'une base ou d'une table, de désactiver la vérification des clés. Cela permet d’accélérer de façon significative l'importation de données.

Pour cela, il faut au début de votre script ajouter l'instruction :

  1. SET foreign_key_checks = 0;

Et après votre script ajouter l'instruction inverse :

  1. SET foreign_key_checks = 1;

Lorsque l'on travaille sur des requêtes importantes, il est important de tester la rapidité de ces dernières. MySQL étant un moteur intelligent met en cache un certain nombre de données pour accélérer les résultats. Malheureusement ce comportement n'est pas idéal pour tester les requêtes. Pour pallier à ce problème je connaissais « MYSQL_NO_CACHE » qui est à placer dans la requête SQL :

  1. SELECT SQL_NO_CACHE FROM matable...

Plus intéressant encore, la requête « RESET QUERY CACHE » permet de flusher les caches. Il suffit donc d'ajouter en début de votre script la requête suivante :

  1. RESET QUERY CACHE;
 

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

À propos

Photographie

Maxence de Flotte

Développeur cœur PrestaShop

Passionné de nouvelles technologies

PHP, HTML5/CSS3, jQuery, Bootstrap, LESS CSS, ...

Voir mon CV

Mes projets