サーチ…


DESCRIBE tablename;

DESCRIBEEXPLAINは同義語です。 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