やかんブログ

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

2008年06月06日(金)16:30|谷口

谷口です。

最近経験的に知ったのですが、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チューニングをする際には是非お試しを。

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

ページの先頭へ