Sql语句 查询耗时问题。
sql吧
全部回复
仅看楼主
level 1
snmqmhm 楼主
原语句 查询慢的要命:
SELECT COUNT(*) cn1 FROM bill_sale_dtl WHERE
(customid like '%')AND (supplyerid like '%')AND (GOODSID like '%')AND (salerid like '%')AND (FACTORYID like '%')AND (agentid like '%') AND LOTNO like '%%'
AND ((batchid in (select BATCHID from bms_batch_def where COMPANYID in (select des from P_DataResponsibility where TYPE='供应商' and UserID='3065253')) ))
AND (BILL_TYPE like '%%'AND(GOODSID like '%%' OR GOODSNAME like '%%' ) AND(CREDATE >= '2018-6-1 00:00:00' AND CREDATE <= '2018-6-12 23:59:59')
AND(customid like '%%' OR customname like '%%')AND(agentid like '%%' OR agentname like '%%'))
注销其中一个条件:
SELECT COUNT(*) cn1 FROM bill_sale_dtl WHERE
(customid like '%')AND (supplyerid like '%')AND (GOODSID like '%')AND (salerid like '%')AND (FACTORYID like '%')AND (agentid like '%') AND LOTNO like '%%'
--AND ((batchid in (select BATCHID from bms_batch_def where COMPANYID in (select des from P_DataResponsibility where TYPE='供应商' and UserID='3065253')) ))
AND (BILL_TYPE like '%%'AND(GOODSID like '%%' OR GOODSNAME like '%%' ) AND(CREDATE >= '2018-6-1 00:00:00' AND CREDATE <= '2018-6-12 23:59:59')
AND(customid like '%%' OR customname like '%%')AND(agentid like '%%' OR agentname like '%%'))
效率就上来了。注释这段该怎么 优化?
2018年06月12日 01点06分 1
level 1
[委屈]
2018年07月06日 06点07分 2
秃子,什么表情。。
2018年07月06日 11点07分
level 13
in条件用的太多了
改成join或者建临时表
2018年07月07日 02点07分 3
做了索引 解决。
2018年07月07日 10点07分
1