最近まで知らなかったからメモ程度に書いておく。
GROUP BY しているSELECT文を書き換えたら ORDER BY使ってないのに「Using filesort」出るようになって、
Using filesort出ているクエリってあんまりよくないから消す方法について調べてたところ。
ORDER BY NULL指定するとUsing filesort消せる
と教えてもらって、ほんとに消えたんだけどこれってどういう意味って思ったのでもうちょっと調べてみた。
MySQL :: MySQL 5.1 リファレンスマニュアル :: 6.2.12 ORDER BY最適化
すると上のリンクのドキュメントにぶち当たって、
ORDER BY NULL するとうまい具合に最適化して速度ペナルティもなくなる
的なことが書いてありました。
意味はわかったけど仕組みがいまいちわからん。
そんなことよりGROUP BY するときにソートしてるんだ!?
なんとなくそんな感じかなと思ってたけどちゃんと知らなかったorz
やっぱMySQLでまだまだ知らないこといっぱいあるなw