Эта страница является оригинальной документацией PmaControl. Она сохраняет практичную структуру индекса для работ по оптимизации MySQL, не копируя сторонний контент и не завися от внешнего продукта.
Цель
Проверки схемы ищут структуры, дорогие в production: отсутствующие индексы, слишком широкие колонки, отсутствие первичных ключей, исторические таблицы MyISAM и неиспользуемые индексы.
Что проверять
- Таблицы InnoDB без первичного ключа.
- Дублирующиеся или сильно избыточные индексы.
- Колонки
VARCHARилиTEXTв слишком широких индексах. - Колонки join с разными типами или collations.
- Большие таблицы без стратегии архивирования.
- Отсутствующие foreign keys там, где бизнес-целостность этого требует.
Полезные запросы
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'
);
Главное
Полезная проверка схемы связывает каждую аномалию с запросом, планом выполнения или измеримыми операционными затратами.