ТАБЛИЦА ВОССТАНОВЛЕНИЯ
Синтаксис
REPAIR [NO_WRITE_TO_BINLOG | LOCAL] TABLE
tbl_name [, tbl_name] ...
[QUICK] [EXTENDED] [USE_FRM]
Описание
REPAIR TABLE восстанавливает, возможно, повреждённую таблицу. По умолчанию, она имеет тот же эффект, что и
myisamchk --recover tbl_name
или
aria_chk --recover tbl_name
См. aria_chk и myisamchk для получения дополнительной информации.
REPAIR TABLE работает для таблиц Архив, Aria, CSV и MyISAM. Для InnoDB см. режимы восстановления. Для CSV также см. Проверка и восстановление CSV-таблиц. Для архива эта команда также улучшает сжатие. Если движок хранилища не поддерживает эту команду, выводится предупреждение.
Эта команда требует прав SELECT и INSERT для таблицы.
По умолчанию, REPAIR TABLE команды записываются в бинарный журнал и будут реплицированы. Ключевое слово NO_WRITE_TO_BINLOG (LOCAL — псевдоним) гарантирует, что команда не будет записана в бинарный журнал.
Начиная с MariaDB 10.3.19, REPAIR TABLE команды не регистрируются в бинарном журнале, если read_only установлен. См. также Реплики только для чтения.
При пересоздании индекса движок хранилища может использовать настраиваемый буфер в процессе. Увеличение размера буфера ускоряет создание индекса. Aria и MyISAM выделяют буфер, размер которого определяется aria_sort_buffer_size или myisam_sort_buffer_size, который также используется для ALTER TABLE.
REPAIR TABLE также поддерживается для разнесенных таблиц. Однако параметр USE_FRM не может использоваться с этой командой для разнесенной таблицы.
ALTER TABLE ... REPAIR PARTITION можно использовать для восстановления одной или нескольких партиций.
Движок хранилища Aria поддерживает отчёт о ходе выполнения для этой команды.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/repair-table/