为什么可能是?
两个对比太大了
CurPrpNo不是索引的

解决方案 »

  1.   

    你关掉sqlserver再打开先执行第二个呢?
      

  2.   

    应该不会差太远,
    你重启SQL Server服务再执行试试
      

  3.   

    “停在第980条记录”?????????先是第一条记录之前,SQL Server就已经查询完成了呀?你用什么办法钻到铁扇公主肚子里。或者,纯粹是“计算运行时间”的方法有根本错误。
      

  4.   

    因为你用A多了一个条件,那么你在产生一个临时结果时会有很少条记录,然后再找,B少了一个
    条件,应产生多天A的记录数,找起来应慢.闷,喝水去!
      

  5.   

    检查一下数据库
    DBCC CHECKTABLE ('table_name')
      

  6.   

    w_rose(w_rose) :
    从查询分析器中执行SQL语句的。语句A要12秒才执行完,中间按取消按钮,一般停止在第980条记录上。
    sysmaster(为什么我不懂):
    我也感觉应该是语句B执行速度慢些,因为要创建表、删除表等物理操作,而语句A直接在内存中操作的。因为测试数据的原因,加不加最后一个条件,检索的结果数是一样的,都是1053条
      

  7.   

    zarge(鲨至):
    'TPlan_SpectTrainPlanCur' 的 DBCC 结果。
    对象 'TPlan_SpectTrainPlanCur' 有 194 行,这些行位于 5 页中。
    DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
      

  8.   

    查询分析器骗你了。不信,你试试在两个查询上把select ... 改成select top 1 ...,这样,查询分析器在服务器上建立的不同的光标结构和以及他的客户端显示部件的影响可以排除。
      

  9.   

    在显示第一条记录之前,服务器就已经查询完成。剩下的,只是客户端软件怎样取走数据的问题。你用ADO.net,也许就更公正一些,因为它不像ADO或者ODBC那样有非常多的游标、加锁方面的选择。
      

  10.   

    哥哥们我有些经常用的数据量很小的表,我想把它们一直放在内存里。光用sqlServer能实现吗