Cette page est une documentation originale PmaControl. Elle reprend une structure d'index pratique pour travailler sur l'optimisation MySQL, sans copier de contenu tiers ni dépendre d'un produit externe.
Objectif
Les schema checks cherchent les structures qui coûtent cher en production: absence d'index, colonnes surdimensionnées, clefs primaires manquantes, tables MyISAM historiques et index jamais utilisés.
Points à contrôler
- Tables InnoDB sans clef primaire.
- Index dupliqués ou fortement redondants.
- Colonnes
VARCHARouTEXTutilisées dans des index trop larges. - Colonnes de jointure avec types ou collations différents.
- Tables volumineuses sans stratégie d'archivage.
- Contraintes de foreign keys absentes là où l'intégrité est métier.
Requêtes utiles
SELECT table_schema, table_name
FROM information_schema.tables t
WHERE engine = 'InnoDB'
AND table_schema NOT IN ('mysql', 'performance_schema', 'information_schema', 'sys')
AND NOT EXISTS (
SELECT 1
FROM information_schema.table_constraints c
WHERE c.table_schema = t.table_schema
AND c.table_name = t.table_name
AND c.constraint_type = 'PRIMARY KEY'
);
A retenir
Un schema check pertinent relie chaque anomalie à une requête, un plan d'exécution ou un coût opérationnel mesurable.