サーチ…
DESCRIBE tablename;
DESCRIBE
とEXPLAIN
は同義語です。 tablenameのDESCRIBE
は列の定義を返します。
DESCRIBE tablename;
例:
COLUMN_NAME COLUMN_TYPE IS_NULLABLE COLUMN_KEY COLUMN_DEFAULT EXTRA
id int(11) NO PRI 0 auto_increment
test varchar(255) YES (null)
ここでは列の名前とそれに続く列の種類が表示されます。列にnull
が許可されているかどうか、またその列がインデックスを使用しているかどうかが示されます。デフォルト値も表示され、表にauto_increment
ような特殊な動作が含まれている場合にも表示されます。
EXPLAINクエリの選択
Explain
のインフロントselect
クエリは、クエリが実行される方法を示します。これにより、クエリでインデックスが使用されているかどうか、またはインデックスを追加してクエリを最適化できるかどうかを確認できます。
クエリ例:
explain select * from user join data on user.test = data.fk_user;
結果の例:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE user index test test 5 (null) 1 Using where; Using index
1 SIMPLE data ref fk_user fk_user 5 user.test 1 (null)
インデックスが使用された場合に表示されるtype
です。 possible_keys
列には、実行計画が存在しない場合に異なるインデックスから選択できるかどうかが表示されます。 key
は、使用されるacutalインデックスを示します。 key_len
は1つのインデックス項目のサイズをバイト単位で示します。この値が小さいほど、インデックス項目が同じメモリサイズに収まるほど処理が速くなります。 rows
は、クエリがスキャンする必要がある行の予想数が表示されます。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow