奇怪的查询效率问题,请高手指点!
是这样的,在我的程序中有一段代码,在循环中执行下面这样一句SQL,
select case when COUNT(1)>0 then 3 else 0 end from IMA25D1 WHERE IMA18DF01=12592
当然每次查询时后面的ID条件是不同的数字。
我发现一百多次的循环居然执行了4分钟,经过调试发现,执行上面查询时就会等待4-6秒。但是奇怪的是不是每次都等,手动调试追踪,发现每执行6次循环,就有一次等待,而其他5次都非常快。我试过在循环中每次用完全一样的SQL查询(不变后面的条件ID)问题依旧一样。找不到原因,但是将数据库服务重启一次就正常了!!
只是,这个问题不是第一回遇到了,不久前也是同样的情况,只是是在另一个循环中,一样是一句简单的SQL查询上,出现同样的现象。就是说这种现象还会发生,需要找到原因解决人!
数据库环境SQL SERVER2008,服务器24小时不关机,前端程序用DELPHI实现,ADO连接数据库。请大家帮忙推测原因所在!!