我有一个存储,由于某种原因,它仅在19秒内以SQL Server 2008兼容级别运行,如果我将其更改为“兼容级别”到2017,则需要10分钟才能执行,因此可以在存储中执行任何选择语句程序具有2008年的兼容性?而是更改所有数据库的兼容性?
答案 0 :(得分:2)
我在更新到SQL 2107时在线上看到的建议之一是,将兼容级别设置为旧服务器并打开querystore。运行此命令一段时间,以使系统捕获查询计划。将兼容性级别更改为2017,当发现运行缓慢的代码时,可以修复查询或强制计划使用效果更好的代码。或者,您可以将系统设置为通过打开自动调整功能来完成此操作。
您可以在以下位置找到有关这些信息: https://goshakkk.name/redux-side-effect-approaches/ 和 https://docs.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store?view=sql-server-2017