Почему SELECT работает так долго, да еще и пишет на диск?
explain ваш запрос;
выполните, увидите какие операции делает сервер БД...
Во-первых, как уже посоветовал Руслан, запустите explain.
Во-вторых, сколько памяти есть у MySQL?