Резюме : в этой статье мы познакомим вас с некоторыми очень полезными утверждениями, которые позволяют вам поддерживать таблицы базы данных в MySQL.
MySQL предоставляет несколько полезных операторов, которые позволяют эффективно поддерживать таблицы базы данных. Эти операторы позволяют вам анализировать, оптимизировать, проверять и восстанавливать таблицы базы данных.
Оптимизатор запросов MySQL является важным компонентом сервера MySQL, который создает оптимальный план выполнения запроса для запроса. Для конкретного запроса оптимизатор запросов использует распределение хранимых ключей и другие факторы, чтобы определить порядок, в котором таблицы должны объединяться при выполнении объединения, и какой индекс должен использоваться для конкретной таблицы.
Однако распределение ключей может быть иногда неточным, например, после того, как вы сделали много изменений данных в таблице, включая вставку, удаление или обновление. Если распределение ключей не является точным, оптимизатор запросов может выбрать неверный план выполнения запроса, который может вызвать серьезную проблему с производительностью.
Чтобы решить эту проблему, вы можете запустить оператор ANALYZE TABLE для таблицы, например, следующий оператор анализирует таблицу payments в примере базы данных.
ANALYZE TABLE payments;
Если после выполнения оператора ANALYZE TABLE в таблицу не было внесено никаких изменений, MySQL больше не будет анализировать таблицу. Если вы снова запустите приведенный выше оператор:
ANALYZE TABLE payments;
Это говорит о том, что таблица уже обновлена.
При работе с базой данных вы вносите много изменений, таких как вставка, обновление и удаление данных в таблице, что может привести к фрагментации физического хранилища таблицы. В результате производительность сервера базы данных снижается.
MySQL предоставляет вам оператор, который позволяет оптимизировать таблицу, чтобы избежать этой проблемы дефрагментации. Ниже показано, как оптимизировать таблицу:
OPTIMIZE TABLE table_name;
Рекомендуется выполнить этот оператор для таблиц, которые часто обновляются. Например, если вы хотите оптимизировать таблицу заказов для ее дефрагментации, вы можете выполнить следующую инструкцию:
OPTIMIZE TABLE orders;
С сервером базы данных может произойти что-то неправильное, например, сервер неожиданно выключился, произошла ошибка при записи данных на жесткий диск и т. д. В таких ситуациях база данных может работать некорректно, а в худшем случае может произойти сбой. MySQL позволяет проверять целостность таблиц базы данных с помощью инструкции CHECK TABLE. Следующее иллюстрирует синтаксис оператора CHECK TABLE:
CHECK TABLE table_name;
Оператор CHECK TABLE проверяет как таблицу и ее индексы. Например, вы можете использовать инструкцию CHECK TABLE для проверки таблицы orders следующим образом:
CHECK TABLE orders;
Заявление CHECK TABLE только обнаруживает проблемы в таблице базы данных, но это не исправляет их. Чтобы починить стол, вы используете утверждение REPAIR TABLE.
Заявление REPAIR TABLE позволяет восстановить некоторые ошибки произошли в таблицах базы данных. MySQL не гарантирует, что оператор REPAIR TABLE может исправить все ошибки, которые могут иметь таблицы.
Ниже приведен синтаксис оператора REPAIR TABLE:
REPAIR TABLE table_name;
Предположим, что в ordersтаблице есть некоторые ошибки, и вам нужно их исправить, вы можете использовать этот оператор REPAIR TABLE в качестве следующего запроса:
REPAIR TABLE employees;
MySQL возвращает то, что он сделал с таблицей, и показывает вам, была ли таблица восстановлена или нет.
В этой статье вы узнали несколько очень полезных операторов для поддержки таблиц базы данных в MySQL.