国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - SQL Server中的Forwarded Record計數器影響IO性能的解決方法

SQL Server中的Forwarded Record計數器影響IO性能的解決方法

2020-03-26 15:28MSSQL教程網 Sql Server

這篇文章主要介紹了SQL Server中的Forwarded Record計數器影響IO性能的解決方法,需要的朋友可以參考下

一、簡介

    最近在一個客戶那里注意到一個計數器很高(Forwarded Records/Sec),伴隨著間歇性的磁盤等待隊列的波動。本篇文章分享什么是forwarded record,并從原理上談一談為什么Forwarded record會造成額外的IO。

二、存放原理

    在SQL Server中,當數據是以堆的形式存放時,數據是無序的,所有非聚集索引的指針存放指向物理地址的RID。當數據行中的變長列增長使得原有頁無法容納下數據行時,數據將會移動到新的頁中,并在原位置留下一個指向新頁的指針,這么做的原因是由于使得當出現對Record的更新時,所有非聚集索引的指針不用變動。如圖1所示。

SQL Server中的Forwarded Record計數器影響IO性能的解決方法

圖1.Forwarded Record示意

這種由于數據更新,只在原有位置留下指針指向新數據頁存放位置行,就是所謂的Forwarded Record。

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

 那么Forwarded Record既然是為了提升性能存在的機制,為什么又會引起性能問題?Forwarded Record的初衷是為了對堆表進行更新時,堆表上存儲位置的變化不會同時更新非聚集索引而產生開銷。但對于查找來說,無論是堆表上存在表掃描,還是用于書簽查找,都會成倍帶來額外的IO開銷,下面看一個例子。

?
1
2
3
4
5
6
7
8
9
10
BEGIN TRAN
WHILE @index < 100000
  BEGIN
    INSERT INTO dbo.HeapTest
        ( id, col1 )
    VALUES ( @index, NULL )
    SET @index = @index + 1
 
  END
COMMIT

代碼清單1.新建堆表并插入10萬條數據

通過代碼清單1創建測試表,并循環插入10萬數據。此時我們來看該堆表所占用存儲的頁數,如圖2所示。

SQL Server中的Forwarded Record計數器影響IO性能的解決方法

圖2.堆表空間占用

此時對該表進行更新,讓原有行增長,產生Forwarded Record,此時再來看該堆表的存儲。如圖3所示。

SQL Server中的Forwarded Record計數器影響IO性能的解決方法

圖3.產生8W+的forwarded record

此時我們注意到,雖然數據僅僅占到590頁,但存在8W+的forwarded record,如果我們對該表進行掃描,則會看到雖然僅僅只有590頁,但需要8W+的邏輯IO,大大提升了對IO的開銷壓力,此外由于forwarded record頁與原頁往往不物理連續,因此對IOPS也存在挑戰。如圖4所示。

SQL Server中的Forwarded Record計數器影響IO性能的解決方法圖4.不該產生的額外IO開銷

而上面查詢反映到性能計數器中,則呈現為如圖5所示的結果。

SQL Server中的Forwarded Record計數器影響IO性能的解決方法

圖5.Forwarded Record計數器增長

 四、如何解決

看到Forwarded Record計數器,就說明數據庫中存在堆表,在OLTP系統中,所有的表上都應該有聚集索引。因此可以通過在表上增加聚集索引來解決該問題。

    通常來講,只有只寫不讀的表設置為堆表比較合適,但如果看到存在Forwarded Reocord,則說明堆表上存在讀操作,那么找到該堆表,找一個合適的維護窗口時間創建堆表則是比較理想的選擇。

    如果由于其他原因無法創建聚集索引,則可以對堆表進行表重建。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品一二 | 中文字幕国产一区 | 亚洲精品久 | 夜夜骚av| 一级毛片一级毛片一级毛片 | 免费 视频 1级 | 中文在线观看www | 日韩成人在线视频 | 日韩欧美网 | 黄色在线 | 欧美精品久久 | 日韩高清中文字幕 | 日韩一区二区三区视频 | 成人精品一区二区 | 在线日韩一区 | 亚洲精品日本 | 一级毛片一级毛片一级毛片 | 亚洲欧美激情精品一区二区 | 成人亚洲欧美 | 高清国产一区二区三区四区五区 | 午夜在线视频 | 不卡视频一区二区 | 国产真实精品久久二三区 | 国产精品久久久久久婷婷天堂 | 亚洲成人三级 | 色爱亚洲 | 亚洲国产aⅴ成人精品无吗 久久久91 | 97色婷婷成人综合在线观看 | 夜夜摸夜夜操 | 欧美狠狠干 | 国产免费自拍av | 啪啪av| 国产精品手机在线 | 国产999精品久久久久久麻豆 | 激情婷婷 | 爱免费视频 | 山岸逢花在线观看无删减 | 天天插天天操 | 久久久久久久久99精品 | 精品影院| 免费高潮 |