SQL Server内存(缓冲池内部有什么内容)

时间:2012-01-09 01:34:33

标签: sql-server

在线阅读SQL Server Book,我理解SQL Server缓冲池或“缓冲区缓存”由

组成

a)“数据页面缓存” - 如果在“缓存”中找不到页面,则始终将页面从磁盘提取到数据页面缓存中,以进行读取和写入操作

b)“计划缓存” - 程序缓存可能不合适,因为adhoc sql和动态sql都会缓存执行计划

c)查询工作空间 - 我相信这将是连接或排序(order by)可能是

问题:缓冲池中还保留了哪些内容?在将硬盘上的事务日志保存在单独的内存区域之前,“日志缓存”是否也是缓冲池或“日志记录缓存”的一部分?

1 个答案:

答案 0 :(得分:1)

查看此http://www.toadworld.com/platforms/sql-server/w/wiki/9729.memory-buffer-cache-and-procedure-cache.aspx

从该博文中摘录:

缓冲池的其他部分包括:

  1. 系统级数据结构 - 保存有关数据库和锁的SQL Server实例级数据。

  2. 日志缓存 - 保留用于读取和写入事务日志页面。

  3. 连接上下文 - 每个与实例的连接都有一小块内存来记录连接的当前状态。此信息包括存储过程和用户​​定义的函数参数,光标位置等。

  4. 堆栈空间 - Windows为SQL Server启动的每个线程分配堆栈空间。

  5. 希望这有帮助。