Навигация

Поиск по Сайту

Партнеры

Самоучитель. Книги.

Статистика

    Каталог@Mail.ru - каталог ресурсов интернет

Синтаксис REPAIR TABLE в MySQL

Главная Страница » Книги по PHP » MySQL уроки для начинающих с нуля » Синтаксис REPAIR TABLE в MySQL

REPAIR TABLE tbl_name[,tbl_name...] [QUICK] [EXTENDED]

REPAIR TABLE тоже работает только на таблицах типа MyISAM и аналогичен вызову myisamchk -r table_name.

Обычно вам никогда не придется выполнять эту команду, но в случае ошибок вы, очень вероятно, вернете все данные из таблицы MyISAM с помощью команды REPAIR TABLE. Если таблицы разрушаются, вы должны попробовать найти причину этого! Подробности по этому вопросу есть в разделе 11.4.1 «Что делать в случае сбоя MySQL».

Синтаксис REPAIR TABLE в MySQL

REPAIR TABLE восстанавливает разрушенную таблицу. Команда возвращает таблицу со следующими столбцами (табл. 4.5):

Таблица 4.5. Отчет о ремонте

Столбец Значение
Table Имя таблицы
Ор Обязательно repair
Msg_type Одно из 4-х: status, error, info или warning
Msg_text Собственно сообщение

Обратите внимание, что вы можете получать много строк информации для каждой восстановленной таблицы. Последняя будет иметь тип Msg_type status и значение ОК, если все в порядке. Если значение ОК так и не появилось, вы должны попробовать восстанавливать таблицу с помощью myisamchk -о, поскольку REPAIR TABLE еще не выполняет все параметры myisamchk. В ближайшем будущем планируется сделать ее более гибкой.

Если задан QUICK, MySQL пробует делать REPAIR только для индексного дерева.

Если вы используете EXTENDED, MySQL создаст индекс по строкам, вместо того чтобы создать индекс одновременно с сортировкой: это может быть лучше, чем сортировка по ключам фиксированной длины, если вы имеете длинные ключи типа char(), которые сжимаются очень хорошо.