Syntax
------ 
CHECK TABLE tbl_name [, tbl_name] ... [option] ...
 
option = {FOR UPGRADE | QUICK | FAST | MEDIUM | EXTENDED |
CHANGED}
 
Description
----------- 
CHECK TABLE checks a table or tables for errors. CHECK TABLE
works for
Archive, Aria, CSV, InnoDB, and MyISAM tables. For Aria and
MyISAM tables, the
key statistics are updated as well. For CSV, see also
Checking and Repairing CSV Tables.
 
As an alternative, myisamchk is a commandline tool for
checking MyISAM tables when the tables are not being
accessed.
 
For checking dynamic columns integrity, COLUMN_CHECK() can
be used.
 
CHECK TABLE can also check views for problems, such as
tables
that are referenced in the view definition that no longer
exist.
 
CHECK TABLE is also supported for partitioned tables. You
can
use ALTER TABLE ... CHECK PARTITION 
to check one or more partitions.
 
The meaning of the different options are as follows - note
that this can vary a bit between
storage engines:
 
FOR UPGRADE | Do a very quick check if the storage format
for the table has changed so that one needs to do a REPAIR.
This is only needed when one upgrades between major versions
of MariaDB or MySQL. This is usually done by running
mysql_upgrade. | 
 
FAST | Only check tables that has not been closed properly
or are marked as corrupt. Only supported by the MyISAM and
Aria engines. For other engines the table is checked
normally | 
 
CHANGED | Check only tables that has changed since last
REPAIR / CHECK. Only supported by the MyISAM and Aria
engines. For other engines the table is checked normally. | 
 
QUICK | Do a fast check. For MyISAM and Aria engine this
means we skip checking the delete link chain which may take
some time. | 
 
MEDIUM | Scan also the data files. Checks integrity between
data and index files with checksums. In most cases this
should find all possible errors. | 
 
EXTENDED | Does a full check to verify every possible error.
For MyISAM and Aria we verify for each row that all it keys
exists and points to the row. This may take a long time on
big tables! | 
 
For most cases running CHECK TABLE without options or MEDIUM
should be
good enough.
 
Since MariaDB 5.3, the Aria storage engine supports progress
reporting for this statement.
 
If you want to know if two tables are identical, take a look
at CHECKSUM TABLE.
 
XtraDB/InnoDB
 
If CHECK TABLE finds an error in an InnoDB table, MariaDB
might shutdown to prevent the error propagation. In this
case, the problem will be reported in the error log.
Otherwise, since MariaDB 5.5, the table or an index might be
marked as corrupted, to prevent use. This does not happen
with some minor problems, like a wrong number of entries in
a secondary index. Those problems are reported in the output
of CHECK TABLE.
 
Each tablespace contains a header with metadata. This header
is not checked by this statement.
 
During the execution of CHECK TABLE, other threads may be
blocked.
 

 
 
 
 
 
 
 

URL: https://mariadb.com/kb/en/sql-commands-check-table/