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.