販売情報を含むテーブルがあります。列の 1 つは と呼ばれroyalty_currency
、このテーブルからすべての異なる通貨を取得する必要があります。そのためのクエリは次のとおりです。
SELECT distinct `royalty_currency` FROM `sales_raw`
この列にインデックスがない場合、Explain ステートメントは次のように表示します。
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE sales_raw ALL NULL NULL NULL NULL 195121 Using temporary
インデックスを追加すると、Explain ステートメントから次のようになります。
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE sales_raw range NULL royalty_currency92 NULL 211 Using index for group-by
私の質問は、SELECT ステートメントでインデックスを使用する必要があるのはなぜですか? WHERE
インデックスは句用だと思いましたか?単一の列を選択するだけで、なぜインデックスを使用する必要があるのでしょうか? 最後に、これは私が使用する一般的なクエリです。このテーブルにインデックスを追加する必要がありますroyalty_currency
か?