谷口です。 MySQLでORDER BYを付けると非常に実行時間がかかる。。。なんて経験があると思います。私もORDER BYに悩まされることが多いです。今回はORDER BYを伴うクエリのチューニングのうちの一つを紹介したいと思います。 その方法とは、サブクエリでソート済みのテーブルを作成して結合するという方法です。 たとえば、下記のようなSQL文があったとします。 SELECT t1.col1, t2.col2 FROM table1 t1, table2 t2 WHERE t1.col1=t2.col1 AND t1.col2 = 1 ORDER BY t1.col1 DESC LIMIT 10; これを下記のように、t1をサブクエリでソートしてから結合する感じです。 SELECT t1.col1, t2.col2 FROM (SELECT * FROM ta