SQL语句的优化?
发布网友
发布时间:2022-05-02 03:28
我来回答
共2个回答
热心网友
时间:2022-05-02 04:57
倒数第二个可以这样
select po.must_pay_cash
from erp_proct_outcoming po
LEFT JOIN (select * from erp_sale_collent_detail where flag=1) scd
ON scd.shop_id = po.shop_id
先做个子查询消掉一些项再做连接,最后一个类似。
热心网友
时间:2022-05-02 06:15
Try
select sum(po.must_pay_cash - scd.paid_cash) as notCollectionUpToNow
from erp_proct_outcoming as po inner join erp_sale_collent_detail as scd
on scd.flag=1 and po.shop_id=scd.shop_id追问时间: 98.134ms和原来的94秒差不多
还有没有其他的方法,我数据库里这两张表各有1000条记录,为什么会这么慢?我感觉应该不会啊!
追答影响效率的可能原因
1)索引
2)I/O支出
你这个估计没有索引,而且发生迪卡尔乘积了。1000*1000 条对应,所以慢。
子查询都好