关于鬼影记录的翻译一

关于鬼影记录翻译一 原文链接: 很多年前,我在各种各样的论坛看到关于鬼影清理任务的帖子当我还在存储引擎开发团队的时候。 之前鬼影清除任务有一些bug在里面,KB文章是KB932115和KB815594,不过这两篇文章介绍鬼影机制的信息还是很少 由于某些原因,在我

关于鬼影记录的翻译一

原文链接:

很多年前,我在各种各样的论坛看到关于鬼影清理任务的帖子当我还在存储引擎开发团队的时候。
之前鬼影清除任务有一些bug在里面,KB文章是KB932115和KB815594,服务器空间,不过这两篇文章介绍鬼影机制的信息还是很少
由于某些原因,在我的旧的博客里面没有提及鬼影,今天我打算写一篇深入鬼影清理任务的文章

那么,什么是鬼影清理呢?这是一个后台进程用来清理鬼影记录的.通常与鬼影清理任务一起被提及.
什么是鬼影记录呢?上星期我曾经在anatomy OF a record post主题里简短描述了一下,在一张有索引的表里已经
删除了的一条记录或者在快照隔离级别的数据库里,一张没有任何索引的表里已经删除了的一条记录那条记录就是鬼影记录

从聚集索引表这方面讲述鬼影记录会好一些,鬼影就是一个delete操作,但是他实际不是从数据页进行物理删除,他只是
在数据页标记那条记录“已经删除了”或“已经鬼影了”。这对于删除操作的快速执行是一个性能的优化。
这也让删除操作的回滚执行得更快因为只需要把“已经删除了的”或“已经鬼影了的”的记录重新标记为“未删除“,这样就不用
重新插入已经删除了的记录。已经删除了的记录将会在稍后被一个后台的鬼影清理进程/任务物理删除(删除了的记录的那个位置,
不会被其他记录重写)。鬼影记录会在空的数据页面或者空的索引页面插入一条记录,以避免那个空的数据页面或者空的索引页面
被释放,当回滚事务的时候能保证那个数据页或索引页还存在

鬼影记录清理任务不能物理删除已经被标记为鬼影记录的的记录,除非你提交你的事务,确认删除操作已经提交,因为已经删除的记录
有锁,直到提交事务的时候才会解锁。顺便说一下,如果一条记录被标记为“已经删除了的”在一个数据页上,那么,就算加上nolock选项
或者使用READ UNCOMMITTED隔离级别也不能读取得到已经标记为“鬼影”的那条记录

当一条记录已经被删除,并且标记为鬼影记录,那么鬼影记录所在的那个数据页也会被标记为鬼影页面,在PFS页面会有所体现
并且信息会记录在数据页的页面头部。在PFS页记录当前存在鬼影记录的数据页,也能提醒数据库,当前数据库中存在一些鬼影记录
还没有去清理。鬼影记录清理任务不知道哪些数据页面有鬼影记录就算有删除操作发生。只有当扫描操作读取到已经标记为鬼影的
数据页面的时候。

鬼影记录清理任务每5秒钟进行一次查找鬼影记录的任务。扫描任务通过每个数据库的PFS页,查看是否有鬼影记录页面存在,
如果存在就通知鬼影清理任务清理鬼影记录页面里的鬼影记录。如果不存在,扫描任务就去扫描下一个数据库。
鬼影清理任务每次清理最多10个页面的鬼影记录,在我印象中好像是10个页面,以确保系统不会有任何影响。
所以,鬼影记录最终一定会被删除,通过鬼影清理任务。如果鬼影清理任务扫描到当前数据库没有鬼影记录,香港空间,那么他就会
跳过这个数据库去扫描下一个数据库

您能够告诉鬼影记录清理任务是怎样工作的吗?在SQLSERVER2005里,您能够使用下面的代码在
sys.dm_exec_requests视图里查看鬼影清理任务

##myexecrequests 5 FROM sys.dm_exec_requests; NOCOUNT ON;; ) ##myexecrequests sys.dm_exec_requests(*)19FROM ##myexecrequests20END; ##myexecrequests;,美国空间

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1841308.html

(0)
上一篇 2025年2月21日 23:37:28
下一篇 2025年2月21日 23:37:51

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 关于前端面试(二)

    今天给大家分享我之前找工作的面试经历,我辞去了杭州的工作之后去往了深证,给大家分享一下我第二波面试的经历。 面试了两了礼拜,首先第二个礼拜的质量表示没有第一个礼拜的质量好,几乎没有面试到什么质量高的公司,下面总结 不知道是第几家家公司: 这…

    编程技术 2025年3月28日
    100
  • html5中关于div与span html块级元素的详细介绍

    HTML 和 HTML 列表 HTML 类 可以通过 和 将 HTML 元素组合起来。 HTML 块元素 大多数 HTML 元素被定义为块级元素或内联元素。 编者注:”块级元素”译为 block level elem…

    编程技术 2025年3月11日
    200
  • 关于DOCTYPE的使用和说明

    DOCTYPE不可怕,但把它拿走,会让你怕了又怕。 发现很多朋友提出有关p+CSS排版问题,以及IE与FF的兼容问题。怎么问的都有,结果就是一个——显示很奇怪,很难调整。我们浏览的大多数网站,或者用Dreamweaver创建一个新的网页文档…

    编程技术 2025年3月9日
    200
  • 关于JS中Attr的用法

    本文主要通过实例代码给大家介绍了js中的attr的用法,非常不错,具有参考借鉴价值,需要的朋友参考下吧,希望能帮助到大家。 具体代码如下所示: $(document).ready(function(){ $(“#btn”).click(fu…

    编程技术 2025年3月8日
    200
  • Vue2.0关于父组件与子组件之间的事件发射与接收

    本文主要和大家介绍vue2.0父组件与子组件之间的事件发射与接收实例代码,需要的朋友可以参考下,希望能帮助到大家。 关于vue2.0的事件发射和接收,大家都知道$dispatch和$broadcast在vue2.0已经被弃用了,取而代之的是…

    2025年3月8日 编程技术
    200
  • 前端关于Node.js的面试题

    这次给大家带来前端关于node.js的面试题,面试前端关于node.js岗位有哪些需要注意的,下面就是实战题目,一起来看一下。 【相关推荐:前端面试题(2020)】 如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对N…

    编程技术 2025年3月8日
    200
  • 关于swift的基础知识

    这次给大家带来关于swift的基础知识,关于swift基础知识的注意事项有哪些,下面就是实战案例,一起来看一下。 cmd + ctrl + e  替换相同对象名字 cmd + shift + o  搜索查找 使用 guard 语法, 依次判…

    编程技术 2025年3月8日
    200
  • layui中的树形关于取值传值详解

    这次给大家带来layui中的树形关于取值传值详解,layui中的树形取值传值的注意事项有哪些,下面就是实战案例,一起来看一下。 本文介绍了layui中的树形关于取值传值问题,分享给大家,具体如下: 这个是我们需要的效果,实际操作中会先执行渲…

    2025年3月8日
    200
  • 关于js的规范

    本篇文章给大家分享的内容是关于js的规范 问题,具有一定的参考价值有需要的朋友可以参考一下 目录 嵌入规则 对齐缩进与换行 命名 声明 类型 对象 数组 字符串 函数 属性 变量 条件表达式和等号 块 注释 空白 逗号 分号 类型转换 命名…

    编程技术 2025年3月8日
    200
  • Ajax的原生实现关于MIME类型的使用方法(图文教程)

    下面我就为大家分享一篇ajax的原生实现关于mime类型的使用方法,具有很好的参考价值,希望对大家有所帮助。 问题描述 下面的例子是一个Ajax的post请求的代码,这段代码在测试运行的时候,发现返回的状态码为400,服务器不能理解的请求,…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论