sql - 选项重新编译使查询速度更快 - 好还是坏?

标签 sql sql-server optimization

我有两个 SQL 查询,每个查询大约有 2-3 个 INNER JOINS。我需要在它们之间进行相交。

问题是,单独的查询运行速度很快,但相交后总共需要大约 4 秒。

现在,如果我在整个查询的末尾放置一个选项(重新编译),查询将再次正常工作,几乎立即返回!

我知道选项 recopile 强制重建执行计划,所以我现在很困惑,如果我的早期查询花费 4 秒更好,或者现在重新编译的查询更好,但花费 0 秒更好。

最佳答案

您应该这样做,而不是回答您提出的问题:

更新您的统计数据:

EXEC sp_updatestats

如果这不起作用,请重建索引。

如果这不起作用,请查看 OPTIMIZE FOR

关于sql - 选项重新编译使查询速度更快 - 好还是坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4275287/

相关文章:

MySql 将值从选择传递到变量

c# - 捕获 SQL 连接的信息消息有什么好处?

c++ - 如何在 clang++ 中禁用矢量化?

jQuery 优化

sql-server - 连接SELECT查询的结果只返回一个值

php - MySQL进程和连接

mysql - 如何从数据库列中分解用户 ID?

mysql - 将一列的结果附加到另一列的结果中

c# - 有没有办法在 C# 中创建一个 sqllocaldb 实例?

sql-server - 使用SQL Server报表生成器执行类似SUMIF的操作