将存储过程运行到与数据库不同的可兼容级别



我有一个存储,由于某种原因,它只能在 19 秒内以 SQL Server 2008 兼容性级别运行,如果我将其更改为 2017 的兼容性级别,执行大约需要 10 分钟,有什么方法可以在存储过程中执行 select 语句,兼容性为 2008? 而是更改所有数据库兼容性?

我在更新到 SQL 2107 时在线看到的建议之一是将兼容级别设置为旧服务器并打开查询存储。运行一段时间,以允许系统捕获查询计划。将兼容级别更改为 2017,当您发现运行缓慢的代码时,请修复查询或强制计划使用效果更好的代码。或者,您可以通过打开自动整定来设置系统为您执行此操作。

您可以在以下位置找到有关这些内容的信息:https://learn.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store?view=sql-server-2017和https://learn.microsoft.com/en-us/sql/relational-databases/automatic-tuning/automatic-tuning?view=sql-server-2017

最新更新