2. Change Buffer (Insert Buffer)
Mécanisme InnoDB pour retarder les écritures sur index secondaires afin de réduire les accès disque.
Objectif: 🎯 Objectif du composant
Réduire les écritures disque inutiles lors d’opérations sur les index secondaires InnoDB non encore chargés.
Paramètres: ⚙️ Paramètres concernés
innodb_change_buffer_max_size Part du buffer pool allouée (en %) innodb_change_buffering Type d’opérations bufferisées (inserts, deletes, all...)
Bonnes pratiques: ✅ Bonnes pratiques
- Laisser activé sur inserts fréquents - Adapter selon workload - Vérifier saturation avec INNODB STATUS - Contrôler % RAM alloué
Pièges à éviter: ⚠️ Pièges à éviter
- Trop de RAM allouée → pas assez pour buffer pool - Mode 'all' inutile si workload insert-only - Inadapté sur workload analytique - Oublier de monitorer
Recommandations: 👤 Recommandations par profil
OLTP : 'inserts', max 25 % Batch DELETE : 'changes' BI : désactiver (none) Dev/test : faible % (10–15 %)
Exemples: 🧪 Exemples de réglage
SET GLOBAL innodb_change_buffer_max_size = 25; SET GLOBAL innodb_change_buffering = 'inserts';
Commandes utiles: 🛠️ Commandes utiles
SHOW GLOBAL VARIABLES LIKE 'innodb_change_buffer%'; SHOW ENGINE INNODB STATUS;
Références: 🔗 Références officielles
- https://mariadb.com/kb/en/innodb-change-buffering/ - https://dev.mysql.com/doc/refman/8.0/en/innodb-change-buffer.html
