SQL Server中的Forwarded Record计数器影响IO性能的解决方法

技术SQL Server中的Forwarded Record计数器影响IO性能的解决方法SQL Server中的Forwarded Record计数器影响IO性能的解决方法,针对这个问题,这篇文章详细介绍了相对应的分析和

SQL Server中的转发记录计数器会影响输入输出性能。针对这个问题,本文详细介绍了相应的分析和解决方法,希望能帮助更多想要解决这个问题的小伙伴找到一个更简单易行的方法。

一、简介

最近,一位客户注意到一个高计数器(转发记录/秒),伴随着磁盘等待队列的间歇性波动。本文分享了什么是转发记录,并从原理上讨论了为什么转发记录会导致额外的IO。

二、存放原理

在SQL Server中,当数据存储在堆中时,数据是无序的,所有非聚集索引的指针都存储指向物理地址的rid。当数据行中可变长度列的增长使旧页面无法容纳下一个数据行时,数据将被移动到新页面,在原始位置留下指向新页面的指针。这样做的原因是,当更新记录时,所有非聚集索引的指针都不需要更改。

这种数据更新只在原始位置留下一个指针,指向存储新数据页的行,称为转发记录。

三、Forwarded Record如何影响IO性能?

那么,既然转发记录是一种提高性能的机制,为什么会造成性能问题呢?Forwarded Record的初衷是在堆表上更新时,堆表上存储位置的改变不会同时更新非聚集索引,会造成开销。但是,对于搜索来说,无论是堆表上有表扫描还是用于书签搜索,都会使额外的IO开销翻倍。这里有一个例子。

begin inner while @ index 100000 begin insertingdb。堆测试(ID,col1)值(@ index,null)设置@ index=@ index1endcommit代码清单1。创建一个新的堆表并插入100,000条数据。

通过清单1创建一个测试表,循环插入100,000个数据。现在,让我们看看堆表占用的存储页面。

此时,更新表,使原始行增长,生成Forwarded Record,然后查看堆表的存储。

这时我们注意到,虽然数据只占590页,却有一条8W转发记录。如果我们扫描表,会看到虽然只有590页,但是我们需要8W的逻辑IO,这就大大增加了IO上的开销压力。此外,由于转发的记录页面与原始页面在物理上不连续,这也对IOPS提出了挑战。

而上述查询反映在性能计数器中。

四、如何解决

看到转发记录计数器意味着数据库中有堆表。在OLTP系统中,所有的表都应该有聚集索引。因此,这个问题可以通过向表中添加聚集索引来解决。

一般来说,只将只写不读的表设置为堆表是比较合适的,但是如果看到有一个Forwarded Reocord,就说明堆表上有一个读操作,所以找到堆表并找到合适的维护窗口时间来创建堆表是比较理想的选择。

如果由于其他原因无法创建聚集索引,则可以重建堆表。

SQL Server中的转发记录计数器影响IO性能的问题的解决方案将在这里分享。我希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/128593.html

(0)

相关推荐

  • 立方米和立方分米的换算,1立方分米等于多少立方分米

    技术立方米和立方分米的换算,1立方分米等于多少立方分米1立方厘米=0.001立方分米,立方厘米与立方分米之间的进率是1000,立方分米,容量计量单位,符号为dm3,1dm3的容量相当于一个长、宽、高都等于1分米的立方体的

    生活 2021年10月28日
  • TiDB用什么保证备份的一致性

    技术TiDB用什么保证备份的一致性TiDB用什么保证备份的一致性,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。背景作为一名MySQL DBA,就应该了解

    攻略 2021年11月30日
  • hadoop中用户有CREATE权限建表后无HDFS文件的ACL访问权限异常分析

    技术hadoop中用户有CREATE权限建表后无HDFS文件的ACL访问权限异常分析这篇文章将为大家详细讲解有关hadoop中用户有CREATE权限建表后无HDFS文件的ACL访问权限异常分析,小编觉得挺实用的,因此分享

    攻略 2021年12月9日
  • SQL的常见错误有哪些

    技术SQL的常见错误有哪些本篇内容主要讲解“SQL的常见错误有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL的常见错误有哪些”吧!1. Queries语句的执行顺序

    攻略 2021年10月22日
  • 我的爸爸100字作文,严历的爸爸作文100字

    技术我的爸爸100字作文,严历的爸爸作文100字我的爸爸是个很严厉的人,他有一双灵活透亮的眼睛,一双“收音机”的耳朵,一个“机关枪”嘴巴我的爸爸100字作文。有一次,我正在吃饭,当时我太困了,被爸爸那灵活透亮的眼睛看见了

    生活 2021年10月29日
  • html表格单元格的边框不显示的解决方法

    技术html表格单元格的边框不显示的解决方法这篇文章主要为大家展示了“html表格单元格的边框不显示的解决方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html表格单元格

    攻略 2021年11月14日