2016-11-28 7 views
0

このテーブルを照会している間、私はちょうどgroup byphone_number上でこのインデックスが使用される場合、私は、フィールド上のマルチカラムインデックス(phone_numbername)を持っているMySQLのでテーブルMySQLのグループによって使用されるインデックス

を持っている場合?

そして、phone_numberだけの操作を実行してもインデックスが使用されますか?

もし私がgroup by phone_numberにしたいのであれば、名前はこのインデックスを使用するでしょうか?

+0

を見つけることができ、あなたの質問

の両方のためのpossibile使用インデックスであることを意味します。何が起こっているかを知る最も良い方法は、それをテストし、実行計画を見てみることです。これはEXPLAINで行うことができます。 (https://dev.mysql.com/doc/refman/5.5/en/execution-plan-information.html) – molig

答えて

1

場合によっては、MySQLはインデックスアクセスを使用してGROUP BYを実行できます。

GROUP BYのためにインデックスを使用するための前提条件は、列によってすべてのGROUP は同じインデックスから属性を参照することであり、 インデックスがために、その鍵を格納します。

これはあなたのケースでは、データベースが内部クエリが伝えるのは難しいです実行方法の詳細ここhttp://dev.mysql.com/doc/refman/5.7/en/group-by-optimization.html

関連する問題