是否有任何特定设置告诉SQL服务器快速完成CTE?
当我们将数据库从SQL Server 2005迁移到SQL Server 2014时,我们遇到了一个问题。
此外,新服务器上的磁盘是SSD,而旧版本的硬盘是硬盘,新服务器公羊是32GB而旧版是12GB。
任何人都知道我们是否应该在新服务器上应用任何特殊配置?
这些sqlplan文件
非常感谢任何帮助。
答案 0 :(得分:2)
与早期版本相比,SQL Server 2014中优化器的基数估算器部分发生了重大变化。鉴于基数估计是形成执行计划的最重要因素之一,这实际上改变了内部执行查询的方式。这种变化通常几乎总是对您有利,产生更好,更有效的执行计划,但有时它可以反过来并对性能产生负面影响。
从“简单”到“硬”的顺序,你可以做几件事:
请注意,最后和最难的解决方案是同时最好的解决方案,最简单的可能是最差的。
以下是有关QE变化的更多信息及其可能的影响: https://blogs.msdn.microsoft.com/psssql/2014/04/01/sql-server-2014s-new-cardinality-estimator-part-1/
关于设置提到的跟踪标志: https://support.microsoft.com/en-us/kb/2801413