Оптимизировать все таблицы Mysql одной командой

Сделайте дефеграментацию таблиц и связаных по индексу данных для эффективного чтения/записи и тем самым увеличиться производитительноять Mysql. Выполнять даное действие нужно переодически, я рекомендую проводить процедуру не реже чем раз в неделю.

Почему фрагментируються таблицы в InnoDB.

После выполнения большого количества записи в таблицу, обновления или удаления из InnoDB таблицы , таблица имеет свой ​​собственный файл .ibd , потому что он был создан с опцией innodb_file_per_table. Таблицы и индексы записываються в разброс п всему диску, что замедляет чтение и запись с диска.

Почему фрагментируються таблицы в MyISAM.

После удаления большой таблицы типа MyISAM или ARCHIVE таблицы, после обемного изменения в MyISAM или ARCHIVE таблицы с строками динамической длинны. (таблицы , которые имеют VARCHAR , VARBINARY , BLOB или TEXT столбцы).

Для таблиц MySQL Cluster, OPTIMIZE TABLE может быть прервана (например) очтановкой потока SQL выполняющого OPTIMIZE операцию.

По умолчанию, OPTIMIZE TABLE не работает для других типов хранения баз. В случае когда вы запускаете OPTIMIZE TABLE All таблицы с другим типом храгения будут проигнорированы.

Команда для дефрагментации всех таблиц MySQL, выполняем через ssh желательно от root:

mysqlcheck -u root --auto-repair --optimize --all-databases

Добавить комментарий