» Introduction
Architecture MySQL.
Choix du moteur de stockage.
Choix des types de données.
Normalisation/dénormalisation.
Traitement d'une instruction SQL.
La base INFORMATION_SCHEMA.
Collecte des statistiques.
Travaux pratiques
Collecte des statistiques, choix des types de données.
» Outils de mesure et de diagnostic
Traçage et profiling.
Commande EXPLAIN.
Utilisation du moteur BLACKHOLE.
Utilisation de mysqlslap.
Journalisation, et journal des requêtes lentes.
Travaux pratiques
Profiling, utilisation de la commande EXPLAIN, utilisation de l'outil mysqlslap, journal des requêtes lentes.
» Organisation des données et indexation
Tables MyISAM. Architecture interne.
Indexation des tables MyISAM.
Accélération des recherches avec les index "fulltext".
Maintenance des tables MyISAM, résolution de problèmes.
Tables transactionnelles InnoDB.
Architecture interne des tables InnoDB.
Structure des tables et des index InnoDB. Gestion de(s) tablespace(s).
Maintenance des tables InnoDB.
Utilisation des tables de type MEMORY.
Partitionnement.
Travaux pratiques
Utilisation des index fulltext, compression des tables MyISAM, Utilisation des tables MEMORY.
» Optimisation des applications
Fonctionnement de l'optimiseur MySQL.
Outil EXPLAIN et plans d'exécution.
Utilisation des instructions préparées.
Verrouillage des tables.
Fonctionnement transactionnel et niveaux d'isolation (InnoDB).
Utilisation des vues.
Optimiser les opérations de chargement.
Travaux pratiques
Plans d'exécution. Utilisation de requêtes préparées, optimisation de chargement de données. Transactions et amélioration de la concurrence.
» Optimisation du serveur
Observation de l'activité du serveur.
Variables dynamiques.
Utilisation de la mémoire dans MySQL.
Cache des requêtes.
Paramétrage et optimisation du moteur InnoDB.
Paramétrage et optimisation du moteur MyISAM.
Cache d'index.
Travaux pratiques
Utilisation du cache de requêtes et du cache d'index.