我进行了此搜索以匹配来自两个不同表格的日期重新开始并且它正在工作但问题是它太慢了。
有没有人知道如何优化它?
CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS
(SELECT codigo, MAX(data) as datucm
FROM tbentradaitem WHERE YEAR(data)>=Year(NOW())-2 GROUP BY codigo
);
SELECT tbpedidoitem.codigo, SUM( tbpedidoitem.qtd )
FROM `tbpedidoitem`, table2
WHERE
(tbpedidoitem.codigo = table2.codigo AND tbpedidoitem.data >= table2.datucm )
GROUP BY tbpedidoitem.codigo;
提前感谢您的帮助!
答案 0 :(得分:0)
为表table2的codigo和datucm列添加索引
ALTER TABLE table2 ADD INDEX INDEX_1(codigo,datucm);
创建临时表作为myisam
答案 1 :(得分:-1)
SELECT tbpedidoitem.codigo, SUM( tbpedidoitem.qtd )
FROM `tbpedidoitem`
WHERE
tbpedidoitem.codigo = MAX(tbpedidoitem.data)
GROUP BY tbpedidoitem.codigo