CHECKSUM TABLEtbl_name
[,tbl_name
] ... [ QUICK | EXTENDED ]
CHECKSUM TABLE
はテーブルチェックサムを報告します。
QUICK
を利用すると、ライブテーブルチェックサムが有効であればそれが報告され、有効でなければ
NULL
を利用できます。これはとても速いです。ライブチェックサムは、テーブルを作成したときに
CHECKSUM=1
テーブルオプションを指定することによって有効になります。これは現在は
MyISAM
テーブルにだけサポートされています。項8.1.17. 「CREATE TABLE
構文」
を参照してください。
EXTENDED
を利用すると、テーブル全体が一行ごとに読まれ、チェックサムが計算されます。大きいテーブルでは時間がかかります。
もし QUICK
と
EXTENDED
のどちらも指定されない場合、テーブルストレージエンジンがライブチェックサムをサポートし、またそうでない場合にはテーブルをスキャンするのであれば、MySQL
がライブチェックサムを返します。
存在しないテーブルに対しては、CHECKSUM
TABLE
は NULL
を返し、警告を生成します。
チェックサムの値はテーブル行フォーマットによって決まります。もし行フォーマットが変更されれば、チェックサムもまた変更されます。たとえば、VARCHAR
の格納フォーマットは MySQL 4.1 と 5.0
の間に変更されたので、もし 4.1 のテーブルが
MySQL 5.0
にアップグレードされると、チェックサム値も変更されるでしょう。
2 つのテーブルのチェックサムが異なる場合、これらのテーブルは何らかの点で異なります。ただし、2 つのテーブルによって同じチェックサムが生成されても、これらのテーブルが同一であるとは限りません。