<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        SQLServer中的ForwardedRecord計數(shù)器影響IO性能的解決方法

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-09 07:05:20
        文檔

        SQLServer中的ForwardedRecord計數(shù)器影響IO性能的解決方法

        SQLServer中的ForwardedRecord計數(shù)器影響IO性能的解決方法:一、簡介 最近在一個客戶那里注意到一個計數(shù)器很高(Forwarded Records/Sec),伴隨著間歇性的磁盤等待隊列的波動。本篇文章分享什么是forwarded record,并從原理上談一談為什么Forwarded record會造成額外的IO。 二、存放原理 在SQL Serve
        推薦度:
        導(dǎo)讀SQLServer中的ForwardedRecord計數(shù)器影響IO性能的解決方法:一、簡介 最近在一個客戶那里注意到一個計數(shù)器很高(Forwarded Records/Sec),伴隨著間歇性的磁盤等待隊列的波動。本篇文章分享什么是forwarded record,并從原理上談一談為什么Forwarded record會造成額外的IO。 二、存放原理 在SQL Serve

        一、簡介 

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

        二、存放原理

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

        image

        圖1.Forwarded Record示意

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

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

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

        BEGIN TRAN
        WHILE @index < 100000 
         BEGIN 
         INSERT INTO dbo.HeapTest
         ( id, col1 )
         VALUES ( @index, NULL )
         SET @index = @index + 1
        
         END
        COMMIT

        代碼清單1.新建堆表并插入10萬條數(shù)據(jù)

        通過代碼清單1創(chuàng)建測試表,并循環(huán)插入10萬數(shù)據(jù)。此時我們來看該堆表所占用存儲的頁數(shù),如圖2所示。

        圖2.堆表空間占用

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

        圖3.產(chǎn)生8W+的forwarded record

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

        圖4.不該產(chǎn)生的額外IO開銷

        而上面查詢反映到性能計數(shù)器中,則呈現(xiàn)為如圖5所示的結(jié)果。

        圖5.Forwarded Record計數(shù)器增長

         四、如何解決

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

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

            如果由于其他原因無法創(chuàng)建聚集索引,則可以對堆表進(jìn)行表重建。

        您可能感興趣的文章:

      1. SQLServer存儲過程中事務(wù)的使用方法
      2. SQL SERVER調(diào)用存儲過程小結(jié)
      3. SQL Server存儲過程中使用表值作為輸入?yún)?shù)示例
      4. SQL Server 聚焦存儲過程性能優(yōu)化、數(shù)據(jù)壓縮和頁壓縮提高IO性能方法(一)
      5. 聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        SQLServer中的ForwardedRecord計數(shù)器影響IO性能的解決方法

        SQLServer中的ForwardedRecord計數(shù)器影響IO性能的解決方法:一、簡介 最近在一個客戶那里注意到一個計數(shù)器很高(Forwarded Records/Sec),伴隨著間歇性的磁盤等待隊列的波動。本篇文章分享什么是forwarded record,并從原理上談一談為什么Forwarded record會造成額外的IO。 二、存放原理 在SQL Serve
        推薦度:
        標(biāo)簽: 解決方法 sql 計數(shù)器
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲精品成人片在线播放| 无码中文字幕av免费放| 精品亚洲一区二区三区在线播放| 最新亚洲精品国偷自产在线| 99久久99久久精品免费看蜜桃 | 亚洲av无码专区在线电影| 免费无码肉片在线观看| 国产精品亚洲精品| 三年片在线观看免费观看高清电影| 亚洲制服丝袜在线播放| 成人毛片免费观看视频在线| 亚洲熟女精品中文字幕| 国产免费卡一卡三卡乱码| 美女的胸又黄又www网站免费| 亚洲AV无码一区二三区| a色毛片免费视频| 亚洲在成人网在线看| 色播在线永久免费视频| 免费一级毛片在线播放放视频| 国产精品亚洲w码日韩中文| 色欲国产麻豆一精品一AV一免费 | 亚洲午夜福利在线观看| 久草免费福利资源站| 久久精品a亚洲国产v高清不卡| 6080午夜一级毛片免费看| 亚洲国产系列一区二区三区 | 成人免费福利电影| 鲁啊鲁在线视频免费播放| 中文字幕精品无码亚洲字| 97在线视频免费公开观看| 亚洲一日韩欧美中文字幕在线| gogo全球高清大胆亚洲| 免费成人在线视频观看| 亚洲私人无码综合久久网| 国产亚洲?V无码?V男人的天堂| 国产高清免费视频| 又黄又大的激情视频在线观看免费视频社区在线 | 久久永久免费人妻精品| 亚洲色中文字幕在线播放| 亚洲综合色自拍一区| 女人张开腿给人桶免费视频|