1

次のMySQLクエリがあります

explain select item_id from items use index(user_item_id) where user_id=9 and item_id=10000

以下が返されます

id  select_type table   type    possible_keys   key             key_len   ref           rows    Extra
1   SIMPLE      items   ref     user_item_id    user_item_id    8         const,const   1       Using index

なぜ型が const ではなく ref なのですか?

user_item_id は、user_id と item_id の複合インデックスです。

4

1 に答える 1

2

ハイパフォーマンスMySqlは、ref型ルックアップを「これは、単一の値に一致する行を返すインデックスアクセスです」と説明しています

単語constが追加されると、「クエリの一部を最適化して定数に変える」と説明されます

したがって、MySQLは最初にインデックスから行を見つけることができる必要があるようです

ref 列の const は、mysql が以前の値を使用してインデックス内のものを検索できることを意味します。

于 2012-08-28T02:18:47.790 に答える