Документация MySQL
CHECK TABLE tbl_name[,tbl_name...] [option [option...]]
option = QUICK | FAST | MEDIUM | EXTENDED | CHANGED
. На таблицах типа
.
Если опция не указана, используется
.
Проверяет таблицу(ы) на наличие ошибок. Для таблиц
обновляется
статистика ключей. Команда возвращает таблицу со следующими столбцами:
Заметим, что по каждой проверяемой таблице может быть выдано много строк
информации. Последняя строка будет представлять
и, как
правило, должна содержать
. Если выдается что-либо отличное от
, то обычно следует провести ремонт таблицы (see section
для профилактики таблиц и послеаварийного ).
свидетельствует о
том, что указанный для таблицы тип (
) не нуждается в проверке.
. Для строк со статическими размерами мы
пропускаем сканирование строк для
, поскольку повреждение
строк происходит крайне редко.
Эта команда просто вызовет быструю проверку таблицы для выявления того,
была ли она закрыта корректно.
Примечание изменяет таблицу! Это
происходит, если таблица помечена как 'поврежденная/corrupted' или 'не
закрытая корректно/not closed properly', а
не находит никаких
проблем в таблице. В этом случае
отметит в таблице, что с ней
все нормально.
Если таблица повреждена, то, скорее всего, проблема в индексах, а не в
данных. Проверки всех типов обеспечивают всестороннюю проверку индексов и
тем самым должны обнаруживать большинство ошибок.
Если проверяется таблица, с которой предположительно все нормально, то
можно опустить проверочные опции или указать опцию
. Последнюю
возможность следует использовать в случае ограничений по времени и тогда,
когда можно пойти на риск (очень незначительный), что
пропустит
ошибку в файле данных. (В большинстве случаев MySQL должен найти - при
нормальной работе - любые ошибки в файле с данными. Если ошибки найдены,
то таблица будет отмечена как 'поврежденная/corrupted', и в таком случае
ее нельзя будет использовать, пока она не будет исправлена.)
главным образом предназначены для использования в сценариях
(например, для запуска из
), если необходимо время от времени
проверять таблицы. В большинстве случаев следует отдавать предпочтение
(иначе надо поступать только в случае, когда возникает
подозрение, что найдена ошибка в самом коде
).
следует только тогда, когда после выполнения
нормальной проверки для таблицы по-прежнему выдаются странные ошибки при
попытке MySQL обновить строку или найти строку по ключу (что очень
маловероятно в случае успеха нормальной проверки!).
Некоторые проблемы, о которых сообщается при проверке таблицы, нельзя
исправить автоматически:
.
Это означает, что в таблице есть строка, где индексированный столбец
содержит значение 0 (строку, в которой столбец
имеет значение 0, можно создать, явно установив столбец
в 0 командой
).
Это само по себе не является ошибкой, но может
вызвать неприятности, если понадобится сделать дамп таблицы или
восстановить ее или выполнить над ней
TABLE. В этом случае
столбец с атрибутом
, что может вызвать проблемы,
подобные ошибке дублирования ключа.
Чтобы избавиться от
предупреждения, просто выполните команду
для установки в
столбце значения, отличного от 0.
Рубрики: Без рубрики |

