以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  sql语句请教  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=105172)

--  作者:hbhb
--  发布时间:2017/8/13 11:29:00
--  sql语句请教
大师:请问SQL  in子查询为何运行如此慢?
S EL  ECT * FROM {客户} WHERE 客户ID NOT IN (SE   LECT 客户ID FROM {订单} WHERE 订购日期 > #1998-5-1#)

2000行数据,上面的查询要60秒。就像死了一样

下面的语句快的很,得出的结果是否一样?
SE L   ECT * FROM {客户} WHERE 客户ID IN (SE  LECT 客户ID FROM {订单} WHERE 订购日期 <= #1998-5-1#)

--  作者:hbhb
--  发布时间:2017/8/13 11:33:00
--  
10万行的not in 子查询要用10多分钟,什么原因?怎么优化?
--  作者:hbhb
--  发布时间:2017/8/13 11:37:00
--  
以下代码查询3万行数据就像瘟鸡一样?什么意思?
S e l   ect * FR OM {dtpzzb} WHERE pzzb5 not In (S e  lec t pzzb5 FROM {dtpzzb} WHERE pzzb12 = \'慢的一比吊扫\')



--  作者:hbhb
--  发布时间:2017/8/13 11:59:00
--  
图片点击可在新窗口打开查看,死机啦,计算机电扇转个不停?三万行数据not in 的查询
--  作者:有点甜
--  发布时间:2017/8/13 14:22:00
--  

 子查询改成连接查询

 

Select * FROM {客户} as a left join (Select 客户ID FROM {订单} WHERE 订购日期 <= #1998-5-1#) as b on a.客户id=b.客户id WHERE b.客户ID is not null