回答

收藏

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

技术问答 技术问答 211 人阅读 | 0 人回复 | 2023-09-14

我有两个大约有2-3个内部联接的SQL查询。我需要在它们之间做一个相交。
) Y3 d# b0 G( R" n问题在于,各个查询的运行速度很快,但是相交之后总共需要大约4秒钟。! V/ |7 V, S7 B* e# H
现在,如果我在整个查询的末尾放置一个OPTION(RECOMPILE),该查询将再次正常运行,并且工作非常快,几乎可以立即返回!
8 p1 L8 A# n8 ~' a我知道选项重新组合会强制重建执行计划,因此,如果我的耳环查询花费4秒更好,或者现在重新编译,而花费0秒则更好,那么我现在就感到困惑。/ x1 ^8 ?$ K8 D7 j
                0 g) W; l8 W+ t* F) z
解决方案:
$ {+ T8 Q/ D* E: i                ' [. l: B9 c6 F6 s+ e' ?" f
/ h4 I. ~' O; t2 D# h+ X4 ~
9 {- u1 K9 z* ]! N3 ^- E
                这不是您要回答的问题,而是您应该做的:$ j7 o- v: @! u: c
更新您的统计信息:$ p2 S5 F+ h# N( n  N- ~3 G
EXEC sp_updatestats
- v$ `% q. b$ M. c' ~& G如果这样不起作用,请重建索引。
$ V2 ]6 |7 }" T3 Q* {如果这不起作用,请查看OPTIMIZE' B( @6 `; v) n/ ~+ u
FOR
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则