Introduction à l'optimisation des performances
- Présentation des possibilités d'optimisation
- Résoudre les problèmes de performance
- Approche recommandée pour le réglage
- Points à évaluer
- Planification d'une routine de contrôle
- Construire une nouvelle base de données orientée performance
- Optimisation d'une base de données existante
- Fixer des objectifs appropriés
Outils de réglage des performances de MySQL
- Outils administratifs
- La base de données information_schema
- Commandes SHOW liées aux performances
- Outils de benchmark
- La base de données performance_schema
- L'outil de monitoring MonYog
- Exercices : Obtenir des informations sur les performances.
Conception de schéma
- Normalisation
- Dénormalisation
- Conventions de nommage
- Génération de charge
- Stress testing et outils de benchmarking
- Sélection des types de données
- Types de données
- Encodage et character sets
- Choisir des moteurs de stockage
- Exercices : effets de la conception sur les performances.
Optimisation des déclarations
- Aperçu des possibilités d'optimisation des déclarations
- Identifier les requêtes problématiques
- L'optimiseur
- Utiliser EXPLAIN pour écrire de meilleures requêtes MySQL
- Utiliser EXPLAIN EXTENDED
- Exercices : identification des problèmes de requêtes et utilisation d'EXPLAIN
Index
- Aperçu de l'index
- Types d'index
- Réglage de l'index
- Index et jointures
- Exercices : Indexs et performances
Configuration et surveillance du serveur
- Variables de configuration du serveur
- Variables d'état du serveur
- Cache de table, multi-threading, problèmes de connexion, cache de requête.
- Exercices : réglage et interprétation des variables du serveur et de la mise en cache.
Verrouillage
- Types de verrouillage
- Moteurs de verrouillage et de stockage
- Effets du verrouillage sur les performances
- Exercices : verrouillage et performance
Le moteur InnoDB
- Transactions
- Rétablissement après un incident
- Verrouillage
- Surveillance d'InnoDB
- Caches et buffers
- Configuration des fichiers de données
- Configuration des fichiers journaux
- Exercices : configuration et performances d'InnoDB
Autres moteurs de stockage
- Moteur MyISAM
- Moteur Merge
- Moteur Archive
- Moteur Memory
- Moteur Blackhole
- Moteur CSV
- Moteur Spider
- Moteur ColumnStore
- Moteur MyRocks
- Mélange de moteurs de stockage
- Exercices : les performances des moteurs de stockage
Vue d'ensemble du clustering et des performances
- Avantages du clustering
- Questions de performance et de clustering
- Le moteur NDBCluster
- Le cluster Galera
- Le cluster Percona XtraDB
- Cluster MySQL InnoDB
- Le moteur federated
- Le moteur federatedX
- Aperçu des autres techniques de haute disponibilité
- Aperçu de NOSQL et Memcached
Dumping et chargement de données
- Les déclarations SQL vs données délimitées
- Paramètres affectant les performances de dump
- Paramètres affectant les performances de la charge
- Exercices : performances de vidage et de chargement
Tables partitionnées
- Concepts des tables partitionnées
- Partitionnement intra-table (range)
- Partitionnement par hash
- Partitionnement par clés
- Partitionnement par colonnes
- Partitionnement ou sous-partitionnement composite
- La taille des partitions
- Exercice : performances des tables partitionnée