西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页西西教程数据库教程 → SQL Server内存数据写入磁盘的方法比较

SQL Server内存数据写入磁盘的方法比较

相关软件相关文章发表评论 来源:飞洋过海时间:2012/2/15 8:24:30字体大小:A-A+

作者:飞洋过海点击:55次评论:0次标签: SqlServer

  • 类型:数据库类大小:40.7M语言:中文 评分:6.6
  • 标签:
立即下载

众所周知,SQLServer增删改数据最先都是在内存中进行的,这可以大大加快数据操作的速度;当内存中的数据被修改了,而磁盘中的数据

还没有被修改时,就产生了所谓的”脏页“,SQLServer是如何同步内存和磁盘的数据的呢?以下三种方法就是为同步内存和磁盘数据而产生的。

LazyWrite(惰性写入器):
   作用:
   1.管理SQLServer空闲内存:
    a. 定期检查空闲缓冲列表的大小,当这个值过低的时候,它会扫描整个数据缓存,将一段时间没有使用的页面老化(通过LRU算法),释放内存空间;
    b. 如果找到一段时间没有被使用的脏页,它会将其写入磁盘,然后将这个页面的内存空间标记为空闲空间;
  
   2.协调Windows与SQLServer内存:
    a. 监视服务器内存,如果Windows物理内存很少,它会从空闲缓冲列表中释放内存给Windows;
    b. 在SQLServer负载很重时,它还会在分配给SQLServer的内存没有达到最大服务器内存阀值时,增加空闲缓冲列表的大小,以适应负载的需要。


CheckPoint:
   作用:检查点是检查点进程创建的一个时间点,在这个时间点,SQLServer可以确认所有提交的事物所做的修改都已经写入磁盘,它是一个标记,
         这个标记是数据库恢复的起始点,大约每分钟运行一次,这样在启动数据库时,确保数据库在一分钟内就能完成恢复操作;但是如果在这段
         时间内写入日志的数据不到10MB,SQLServer就不会自动发起检查点。

         跟踪标记(trace flag)3502在错误日志中记录检查点的开始和结束位置。

    与LazyWrite比较,CheckPoint不会从缓存中移出脏页,CheckPoint进程的工作只是保证脏页被写入磁盘,并且在页头将缓存中的这个页面标记为
    干净的页面。
 
EagerWrite:
    通常在BCP、SELECT INTO, WRITETEXT,UPDATETEXT,BULK INSERT等操作时发生,为了加快这些操作的速度,EagerWrite会管理数据页

的创建和分配,这些操作不会等待所有的页面创建完成后才将内存中的数据写入到页面中,而是以更高的优先级边创建边将缓存中的数据写入页面中,

以保证缓冲池有足够的空间来完成这些操作。

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)