代码之家  ›  专栏  ›  技术社区  ›  theburningmonk

什么触发SqlServer 2000中的缓存删除

  •  0
  • theburningmonk  · 技术社区  · 17 年前

    http://www.sql-server-performance.com/articles/per/optimizing_sp_recompiles_p1.aspx 我使用分析器查看发生了什么,令我惊讶的是,新版本有很多“缓存删除”,但当前版本没有!

    有人能告诉我是什么触发缓存被丢弃吗?

    3 回复  |  直到 17 年前
        1
  •  2
  •   gbn    17 年前
        2
  •  0
  •   souLTower    17 年前

    事务是否只包含需要原子化的内容?这笔交易有必要吗?例如,如果更新为:

    插入tbl(v1,v2,v3)从other表中选择一些值

    默认情况下,这是原子性的。

        3
  •  0
  •   theburningmonk    17 年前

    我刚刚对此进行了更多的实验,发现在代码块中包含BEGIN和COMMIT TRANSACTION实际上会阻止缓存的删除,尽管如果它要长时间保留一个高利用率的表,这可能是不可取的:-\