티스토리 뷰

💼 정보 ver1.0

check table

James Wetzel 2009. 3. 26. 14:53
728x90
반응형


시나리오
check table란?
테이블의 오류를 검사하는 기능
MyISAM, Innodb테이블만 가능함,
MyISAM 테이블이라면, mysqld가 실행되고 있지 않을 경우에 쉘 프롬프트에서 myisamchk -m tbl_name
과 기능이 같다.
정보
【형식】
  CHECK TABLE tbl_name[,tbl_name...] [option [option...]]
  
   여기서 option=QUICK ¦ FAST ¦ MEDIUM ¦ EXTENDED ¦ CHANGED이며,
                       디폴트는 MEDIUM임

【예제】
mysql> show databases;
+----------+
| Database |
+----------+
| jijoeDB  |
| mysql    |
| test     |
+----------+
3 rows in set (0.00 sec)

mysql> use jijoeDB;
Database changed

mysql> show tables;
+-------------------+
| Tables_in_jijoeDB |
+-------------------+
| aa                |
+-------------------+
1 row in set (0.00 sec)

mysql> check table aa;
+------------+-------+----------+----------+
| Table      | Op    | Msg_type | Msg_text |
+------------+-------+----------+----------+
| jijoeDB.aa | check | status   | OK       |
+------------+-------+----------+----------+
1 row in set (0.01 sec)

mysql> check table aa quick;
+------------+-------+----------+----------+
| Table      | Op    | Msg_type | Msg_text |
+------------+-------+----------+----------+
| jijoeDB.aa | check | status   | OK       |
+------------+-------+----------+----------+
1 row in set (0.00 sec)

mysql> check table aa fast;
+------------+-------+----------+-----------------------------+
| Table      | Op    | Msg_type | Msg_text                    |
+------------+-------+----------+-----------------------------+
| jijoeDB.aa | check | status   | Table is already up to date |
+------------+-------+----------+-----------------------------+
1 row in set (0.00 sec)

여기서 Table is already up to date는 더이상 테이블을 체크할 필요가 없음을 의미함

mysql> check table aa changed;
+------------+-------+----------+-----------------------------+
| Table      | Op    | Msg_type | Msg_text                    |
+------------+-------+----------+-----------------------------+
| jijoeDB.aa | check | status   | Table is already up to date |
+------------+-------+----------+-----------------------------+
1 row in set (0.00 sec)

mysql> check table aa extended;
+------------+-------+----------+----------+
| Table      | Op    | Msg_type | Msg_text |
+------------+-------+----------+----------+
| jijoeDB.aa | check | status   | OK       |
+------------+-------+----------+----------+
1 row in set (0.00 sec)

mysql> check table aa;
+------------+-------+----------+----------+
| Table      | Op    | Msg_type | Msg_text |
+------------+-------+----------+----------+
| jijoeDB.aa | check | status   | OK       |
+------------+-------+----------+----------+
1 row in set (0.00 sec)

mysql> check table aa fast quick;
+------------+-------+----------+-----------------------------+
| Table      | Op    | Msg_type | Msg_text                    |
+------------+-------+----------+-----------------------------+
| jijoeDB.aa | check | status   | Table is already up to date |
+------------+-------+----------+-----------------------------+
1 row in set (0.00 sec)
비고
check table 후, repair table을 실행하는 것은 mysqld가 실행되고 있지 않은 경우 쉘 프롬프트에서 myisamchk를 실행하는 것과 같다.
즉, repair table은 mysqld가 실행되고 있는 중에 수리가 가능하지만,
    myisamchk는 mysqld가 실행하지 않을 때 수리가 가능하다.

728x90
반응형