100分求助,请帮忙看看下面的SQL2005查询问题
使用下面的语句检索“一线城市”的数据,例如:北京/上海/深圳等,检索非常的慢,且很少能检索出来数据,并在程序中提示“超时时间已到。在操作完成之前超时时间已过或服务器未响应”。
但是,在检索“二线城市”的数据,例如:成都/西安等,检索就能出来,检索效率还挺快。
请各位兄弟、大老们看看,为什么出现这样的问题,问题在什么地方,应该如何解决这个问题。
表内数据量说明:
西安:8088条数据
成都:9670条数据
北京:124028条数据
上海:73070条数据
深圳:29233条数据
select top(20) [jobCode],[JobLocation],[issueTime],[UpToTime],[EditTime]
from dbo.EnterpriseJob
where contains([JobLocation],'北京')
and [UpToTime] >convert(char(19),getdate(),120)
and [issueTime] <convert(char(19),getdate(),120)
and [State] ='A'
and [JobStatus] ='O'
order by [issueTime] desc
条件说明:1 全文检索“JobLocation”地名字段
2 检索条件:1)数据必须是当前时间必须大于“issueTime”字段时间(issueTime字段为datatime类型);
2)数据必须是当前时间必须小于“UpToTime”字段时间(UpToTime字段为datatime类型)
[解决办法]