4 performance sql-server-2005 sql-server
我很好奇。有什么办法可以防止 SQL 查询执行计划在整个连接期间被缓存?
我可以运行一个基本上说“对所有后续命令使用 OPTION(RECOMPILE) 直到我告诉你停止这样做”的命令吗?
我非常清楚这里的所有性能权衡,我知道这不是一个可以掉以轻心的步骤。但是,我处于一种独特的情况,这种行为可能是有利的。
更新:我找到了跟踪标志 253,但找不到官方提到它究竟做了什么:https : //stackoverflow.com/questions/2596587/what-does-sql-server-trace-flag-253-do
执行计划不会在连接期间持续:它们在所有连接之间共享。
必须为每个查询指定它,因为任何计划缓存/重用问题仅影响该计划。
请问你想做什么,为什么你认为它会有所帮助?
编辑,评论后
该计划必须存在于缓存中才能使用(和重用)。当它被缓存时,它使用内存。重新编译将使用相同的内存并使用额外的 CPU 等来重新编译。
你说“大量命令”和“数千个数据库”:这是你的问题。并且可能没有“dbo”。等帮助计划重用
想法:
| 归档时间: |
|
| 查看次数: |
1467 次 |
| 最近记录: |