Plongez dans l’optimisation de MySQL avec notre formation « MySQL 8.
x – Optimisation ».
Elle vise à fournir une compréhension détaillée du fonctionnement et de l’architecture du serveur MySQL pour optimiser son utilisation.
Découvrez comment mesurer la performance de votre base de données en analysant les facteurs limitants tels que l’accès aux disques, la mémoire, le CPU et le réseau.
Apprenez à utiliser les outils d’analyse des performances et à configurer votre serveur pour une optimisation maximale.
Nous vous guiderons à travers les principes de la journalisation, l’utilisation de la mémoire et le fonctionnement des principaux moteurs de stockage.
Apprenez comment analyser et optimiser les requêtes et l’utilisation des index.
Découvrez l’ordonnanceur d’événements et son utilisation pour optimiser les performances.
Enfin, maîtrisez l’optimisation du partitionnement des tables pour améliorer les performances de votre base de données.
Programme détaillé
Mesure de la performance (2 heures)
- Problématique : les facteurs limitants
- Accès disques
- Mémoire
- CPU
- Réseau
- Quelques outils généralistes d'analyse
- Travaux pratiques :
- Prise en main des outils d'analyse des performances sous Linux
Présentation du serveur (3 heures)
- Architecture de MySQL
- Variables de connexion
- Variables de statut
- Travaux pratiques :
- Parcours de la configuration courante et des variables de statut
Journalisation (2 heures)
- Principe
- Journalisation des requêtes
- Journalisation des requêtes lentes
- Journalisation des requêtes non indexées
- Travaux pratiques :
- Mise en œuvre des différentes journalisations
Utilisation de la mémoire (3 heures)
- Mémoire globale
- Mémoire par connexion
- Présentation des différents caches
- Cache de threads
- Cache de tables
- Cache de requêtes
- Caches liés aux moteurs de stockage
- Travaux pratiques :
- Configuration mémoire globale
Principaux moteurs de stockage (2 heures)
- MyIsam
- Formats des enregistrements
- Cache de clés d'index
- InnoDB
- Présentation du fonctionnement général
- Cache global
- Sauvegarde/Restauration du cache global
- Gestion des logs
- Compression des tables
- Memory
- Caractéristiques
- Utilisation
- Configuration
- Limitations
- CSV
- Principes
- Utilisation
- Journalisation requêtes/requêtes lentes
- Exportation/Importation
- Limitations
- Archive
- Caractéristiques
- Limitations
- Travaux pratiques :
- Configuration des moteurs MyISAM et InnoDB
Analyse du plan d'exécution (1 heure)
- Principe de la commande EXPLAIN
- Informations de la commande EXPLAIN
- EXPLAIN EXTENDED
Optimisation des requêtes (2 heures)
- Coût d'une requête
- Isolation des colonnes
- Écriture des jointures
- Filtrages
- Tris
- Agrégations
- Group By
- Utilisation des index
- Problématique des tables temporaires
- Problématique du cache de requêtes
- Travaux pratiques :
- Mise en œuvre des différents " cas d'école "
Gestion des index (1 heure)
- Présentation des index
- Intérêts des index
- Vérification de l'utilisation des index
- Commande EXPLAIN
- Compteurs de status
- Indications pour l'optimiseur
- USE INDEX()
- FORCE INDEX()
- NO INDEX()
- Travaux pratiques :
- Mise en œuvre des index
Ordonnanceur d'événements (1 heure)
- Présentation
- Configuration : activation/désactivation
- Privilège d'utilisation
- Gestion des événements
- Création d'un événement
- Modification d'un événement
- Activation/désactivation d'un événement
- Consultation des événements
- Travaux pratiques :
- Interruption programmée de la réplication par l'ordonnanceur interne de MySQL
Partitionnement de tables (2 heures)
- Principe
- Type de partitionnement
- Choix explicite d'une partition
- Sous-partitionnement
- Restrictions
- Fonctions du partitionnement
- Travaux pratiques :
- Mise en œuvre des différentes politiques de partitionnement