类似问题我在写一个分页的存储过程时遇到过,更新下统计信息应该就会好的,update statistics table1 

解决方案 »

  1.   

    多测几下,看看有可能时查询时表数据有改变,造成阻塞用以下方法试试
    SELECT *
     FROM   table1 bs with(nolock)
    WHERE    bs.dtCreate >= @a_dtBegin_ThisMonth
              AND bs.dtCreate <=  @a_dtEnd_ThisMonth
      

  2.   

    dtCreate 不是 datetime 类型?
      

  3.   

    dtCreate  datetime 类型
      

  4.   

    把你整个存储过程贴出来,
    里面有没有事务控制。
    30分钟没出来过程中执行sp_lock看看是否有死锁了。
    这两个语句之间没有什么大差别。
      

  5.   

    要搞清楚SQL编译机制,因为是变量,所以解析器不清楚其值是什么,所以不能选择准确的执行计划
    30分钟不出来,即使是无效率的执行计划,那也得多少数据量????
    需要检查一下是否有阻塞