如我把 SET FORCEPLAN on 禁用查询优化器,则两台服务器执行计划就一样了。
两台服务器应该设置不一样吧?

解决方案 »

  1.   

    两台服务器硬件不一样,软件版本一样,数据几乎一样(开发系统刚从生产系统导过来)。其中生产系统8个CPU,8G内存,开发系统4个CPU,4G内存,但偏偏生产系统执行起来性能比开发系统慢很多,觉得实在奇怪。
      

  2.   

    请先确认一下你的两台服务器的cpu数量。真的是4个cpu,还是一个双核cpu有4个tread。如果你的两台机器,一个为双核单cpu,另一个为双核的双cpu,那有可能是硬件好的机器用双cpu进行了并行处理,但是并行处理cpu间通讯所消耗的性能大于性能的提高,则执行速度反而会更慢。可以将双cpu的sql server中处理并行运算所用到的cpu数量(注意,不是sql server使用的cpu数量)减少或指定为1个,再看看速度是否有提高。