以下效果很好:
SELECT * FROM Table1 T1 WHERE T1.StaffId IN (select Id From Staff WHERE DeptId=5)
AND T1.LastUpdatedOn>'2013-07-01'
上述查询只返回38条记录。如果我有T1.LastUpdatedOn>'2013-07-02'
,则返回的行数应等于或小于38。
奇怪的是它适用于2013-07-07
之前的日期。当我使用2013-07-08
或更晚的日期时,查询永远不会完成。
可能出现什么问题?
添加更多信息:
实际SQL配置文件输出,只更改了列名:
select * from fish F where F.StaffId in
(select Id from view_Staff where Dept='xxx' and Site='yyy')
and F.LastUpdatedOn>'2013-07-01'
上述内容占用CPU:749,读取:261243,写入:528,持续时间:747。
如果我只是将日期更改为“2013-07-08”,则查询未完成。当我杀了它,它已经消耗了CPU:88453,读取:7295813,写道:523和持续时间:88464。
当要返回的数据实际上更少时,增加的读数意味着什么?