やかん部@FLATz

[MySQL][Tips]GROUP BYで指定するカラムによるクエリの性能変化

このエントリをdel.icio.usに追加このエントリをはてなブックマークに追加 |2008年06月06日(金)16:30|taniguchi

谷口です。


最近経験的に知ったのですが、MySQLで複数テーブルを結合した結果をGROUP BYするときに、
指定するカラムで性能が変わることがあります。具体的には、GROUP BYするカラムがクエリ中に2テーブル以上に存在するカラムのとき、どちらのテーブルのそれを指定するかで実行速度が変わることがあります。


 

SELECT count(*) FROM table1, table2 WHERE table1.column1 = table2.column2


例えば、上記のようなクエリでGROUP BYを付加するとすると、


 

GROUP BY table1.column1


でも


 

GROUP BY table2.column2


でも同じ結果が返りますが、性能に差異があります。
どちらが早いかはテーブル定義やデータによって変わりますが、SQLチューニングをする際には是非お試しを。

この記事に関するお問い合わせはこちら


関連記事


Trackback URL


このページの先頭へ