Estou com uma consulta para formar um gráfico Candlestick, mas a consulta esta muito lenta.
Poderiam me ajudar a otimizar, não conheço muito de SQL, mas estou usando o Doctrine 2 ORM no Zend Framework 3, essa consulta teve que ser feita em Query.
Segue o SQL.
SELECT t.date_grp, t.min_value, t.max_value, price_min.price first_value, price_max.price last_value FROM ( SELECT FROM_UNIXTIME(3060 * (UNIX_TIMESTAMP(date) DIV (3060))) date_grp, MIN(price) min_value, MAX(price) max_value, MIN(date) min_created, MAX(date) max_created FROM trade GROUP BY date_grp ) t JOIN trade price_min ON price_min.date = t.min_created JOIN trade price_max ON price_max.date = t.max_created ORDER BY t.date_grp DESC LIMIT 12
A consulta não parece ser tão complexa para demorar 46 segundos, então acho que estou fazendo algo errado.
O servidor é caseiro, uma maquina P4 3 GHz, com 4gb de memoria ddr 2, se esse for o problema podem me dar uma dica para um servidor de banco de dados bom só para desenvolvimento?
O que puderem ajudar eu agradeço.