Spec-Zone.ru › MariaDB

ТАБЛИЦА CHECK

Синтаксис

CHECK TABLE tbl_name [, tbl_name] ... [option] ...

option = {FOR UPGRADE | QUICK | FAST | MEDIUM | EXTENDED | CHANGED}

Описание

CHECK TABLE проверяет таблицу или таблицы на наличие ошибок. CHECK TABLE работает с таблицами Архив, Aria, CSV, InnoDB и MyISAM. Для таблиц Aria и MyISAM также обновляются ключевые статистические данные. Для CSV см. также Проверка и ремонт таблиц CSV.

В качестве альтернативы, myisamchk — это командная утилита для проверки таблиц MyISAM, когда к таблицам нет доступа. Для таблиц Aria есть аналогичный инструмент: aria_chk.

Для проверки целостности динамических столбцов можно использовать динамические столбцы COLUMN_CHECK().

CHECK TABLE также может проверять представления на наличие проблем, таких как таблицы, на которые ссылается определение представления, но которые больше не существуют.

CHECK TABLE также поддерживается для разнесённых таблиц. Вы можете использовать ALTER TABLE ... CHECK PARTITION для проверки одной или нескольких партиций.

Значения различных параметров приведены ниже — обратите внимание, что они могут немного отличаться в зависимости от движка хранения:

FOR UPGRADE Выполняется очень быстрая проверка, изменился ли формат хранения таблицы, чтобы потребовалось выполнить REPAIR. Это необходимо только при обновлении между основными версиями MariaDB или MySQL. Обычно это выполняется с помощью mariadb-upgrade.
FAST Проверяются только таблицы, которые не были закрыты должным образом или помечены как поврежденные. Поддерживается только движками MyISAM и Aria. Для других движков таблица проверяется обычным образом
CHANGED Проверяются только таблицы, которые изменились с момента последнего REPAIR/CHECK. Поддерживается только движками MyISAM и Aria. Для других движков таблица проверяется обычным образом.
QUICK Проводится быстрая проверка. Для MyISAM и Aria это означает пропуск проверки цепочки ссылок удаления, что может занять некоторое время.
MEDIUM Также сканируются файлы данных. Проверяется целостность между файлами данных и индексов с помощью контрольных сумм. В большинстве случаев это должно найти все возможные ошибки.
EXTENDED Выполняется полная проверка для проверки каждой возможной ошибки. Для InnoDB, Aria и MyISAM проверяется для каждой строки, что все её ключи существуют, и для этих индексных ключей они указывают на первичный кластеризованный ключ. Это может занять много времени для больших таблиц. Этот параметр ранее игнорировался InnoDB до MariaDB 10.6.11, MariaDB 10.7.7, MariaDB 10.8.6 и MariaDB 10.9.4.

В большинстве случаев выполнения CHECK TABLE без параметров или MEDIUM должно быть достаточно.

Движок хранения Aria поддерживает отчёт о ходе выполнения для данного запроса.

Если вы хотите узнать, идентичны ли две таблицы, ознакомьтесь с CHECKSUM TABLE.

InnoDB

Если CHECK TABLE обнаружит ошибку в таблице InnoDB, MariaDB может завершить работу, чтобы предотвратить распространение ошибки. В этом случае проблема будет сообщена в журнале ошибок. В противном случае таблица или индекс могут быть помечены как поврежденные, чтобы предотвратить использование. Это не происходит при некоторых незначительных проблемах, таких как неправильное количество записей во вторичном индексе. Эти проблемы сообщаются в выводе CHECK TABLE.

Каждый табличный пространство содержит заголовок с метаданными. Этот заголовок не проверяется с помощью этого запроса.

Во время выполнения CHECK TABLE, другие потоки могут быть заблокированы.

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

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/check-table/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API