#indexが使われなくなるSQLの書き方
select a.id,b.cost, a.touroku_ymd ,b.kounyu_ymd from ( select touroku_ymd , id from touroku_tbl ) as a, ( select kounyu_ymd ,id ,cost from kounyu_tbl ) as b where a.id = b.id ;
元からインデックスの張ってあるテーブルでも、as句などで指定すると、それは新しい領域という判断になる為、インデックスが使われなくなり、めっちゃ重い!!という事になります。
以下のような記載にすれば大丈夫。
#indexが使われるSQLの書き方
select a.id,b.cost, a.touroku_ymd ,b.kounyu_ymd from touroku_tbl a join kounyu_tbl b on a.id = b.id ;