Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server 2008 R2-优化问题_Sql Server_Performance_Sql Server 2008 - Fatal编程技术网

Sql server SQL Server 2008 R2-优化问题

Sql server SQL Server 2008 R2-优化问题,sql-server,performance,sql-server-2008,Sql Server,Performance,Sql Server 2008,我在当前架构中遇到了性能问题。所以我建立了一个等价的模式来解决这个问题 我对这两种模式都进行了一些测试,结果很难理解。对于记录,数据是相同的 在两个模式上执行等效请求时,我从探查器中获得以下信息 旧模式: 130万人阅读 5000 CPU 4秒执行时间 新模式: 三万读 3000 CPU 6秒执行时间 区别似乎在于所使用的查询计划。旧架构在查询计划中具有并行性。新架构未使用并行性 是否有人遇到过类似的情况(IO/CPU更少,但执行时间更长)。你是怎么解决的 有没有办法强制并行?我玩过查询

我在当前架构中遇到了性能问题。所以我建立了一个等价的模式来解决这个问题

我对这两种模式都进行了一些测试,结果很难理解。对于记录,数据是相同的

在两个模式上执行等效请求时,我从探查器中获得以下信息

旧模式:

  • 130万人阅读
  • 5000 CPU
  • 4秒执行时间
新模式:

  • 三万读
  • 3000 CPU
  • 6秒执行时间
区别似乎在于所使用的查询计划。旧架构在查询计划中具有并行性。新架构未使用并行性

  • 是否有人遇到过类似的情况(IO/CPU更少,但执行时间更长)。你是怎么解决的

  • 有没有办法强制并行?我玩过查询提示(http://msdn.microsoft.com/en-us/library/ms18171). 我可以在旧模式上停止并行,但在新模式上的查询似乎无法使用并行

  • 提前谢谢。

    路易斯

    目前还没有办法直接在SQL Server中强制实现并行性,但Adam Machanic做了一些工作

    关于你的第一个问题,是的,我们也看到过类似的案例。请注意,并行性是受cpu限制的,这就是为什么您会看到更多的cpu时间,但总的来说执行时间会减少,因为您有多个线程为您完成工作

    确保你有适当的索引,并且统计数据在完全扫描时更新。从长远来看,最好是查询优化器自己做出决策,但如果您想覆盖QO计划,则可能需要添加更多的细节。模式、数据和复制


    HTH

    指标是否相同?你重建了吗?你重新计算过统计数据了吗?