Конструкции на SQL за поддръжка на таблици в MySQL

MySQL притежава няколко конструкции на SQL за поддръжка на таблици: CHECK TABLE за проверка на целостта им, REPAIR TABLE за извършване на поправка, ANALYZE TABLE за анализ и OPTIMIZE TABLE за оптимизиране.  Следва малко информация за всяка от конструкциите за поддръжка на таблици в MySQL:

CHECK TABLE

Конструкцията CHECK TABLE извършва проверка за целостта на структурата и съдържанието на съответната таблица. Тя е приложима и за MyISAM, и за InnoDB. За таблиците от тип MyISAM се осъществява също и актуализиране на статистиката на индексите. Ако дадената таблица с изглед, с CHECK TABLE се проверява дефиницията му. Ако данните, изведени от CHECK TABLE показват наличие на проблем с таблицата, тя трябва да бъде поправена.

REPAIR TABLE

Конструкцията REPAIR TABLE служи за коригиране на проблеми в таблица, която е повредена. Тя е приложима само за таблици от тип MyISAM. Можете да конфигурирате автоматична поправка на таблиците на MyISAM.

Пример: repair table dhstudio

ANALYZE TABLE

Конструкцията ANALYZE TABLE служи за актуализиране на таблица с информация за разпределението на ключовите стойности в нея. Тя се използва от оптимизатора за избор на по- подходящи планове за изпълнението на заявки. Тази конструкция работи с таблици на MyISAM и InnoDB.

Пример: analyze table dhstudio

OPTIMIZE TABLE

Конструкцията OPTIMIZE TABLE служи за "изчистване" на таблици от тип MyISAM чрез дефрагментирането им. Резултатът е повторното разпределяне на неизползваното пространство, получено в резултат от изтриване и актуализации, както и обединяване на записите, които са били разделени и съхранени разпокъсано. OPTIMIZE TABLE се използва също така за сортиране на индексните страници, ако не са подредени, както и за актуализиране на статистиката за индексите.
OPTIMIZE TABLE работи и с таблици на InnoDB, но ги пренасочва към конструкцията ALTER TABLE, която ги изгражда наново. По този начин се актуализира статистиката за индексите и се освобождава място в клъстерния индекс.

Пример:  optimize table dhstudio

Ако искате да разберете кои таблици трябва да оптимизирате изпълнете следното:

show table status where Data_free!=0;

По този начин ще фрагментирате таблиците които се нуждаят от това, а не тези които са фрагментирани.

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)
Конструкции на SQL за поддръжка на таблици в MySQL, 5.0 out of 5 based on 1 rating

Вашият коментар

Вашият email адрес няма да бъде публикуван Задължителните полета са отбелязани с *