亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學(xué)院 > 編程設(shè)計(jì) > 正文

sql索引碎片產(chǎn)生的原理 解決碎片的辦法(sql碎片整理)

2020-07-14 13:31:05
字體:
供稿:網(wǎng)友
本文需要你對索引和SQL中數(shù)據(jù)的存儲方式有一定了解

在SQL Server中,存儲數(shù)據(jù)的最小單位是頁,每一頁所能容納的數(shù)據(jù)為8060字節(jié).而頁的組織方式是通過B樹結(jié)構(gòu)(表上沒有聚集索引則為堆結(jié)構(gòu),不在本文討論之列)如下圖:

    BTree

    在聚集索引B樹中,只有葉子節(jié)點(diǎn)實(shí)際存儲數(shù)據(jù),而其他根節(jié)點(diǎn)和中間節(jié)點(diǎn)僅僅用于存放查找葉子節(jié)點(diǎn)的數(shù)據(jù).

    每一個葉子節(jié)點(diǎn)為一頁,每頁是不可分割的. 而SQL Server向每個頁內(nèi)存儲數(shù)據(jù)的最小單位是表的行(Row).當(dāng)葉子節(jié)點(diǎn)中新插入的行或更新的行使得葉子節(jié)點(diǎn)無法容納當(dāng)前更新或者插入的行時,分頁就產(chǎn)生了.在分頁的過程中,就會產(chǎn)生碎片.

 

 

理解外部碎片

    首先,理解外部碎片的這個“外”是相對頁面來說的。外部碎片指的是由于分頁而產(chǎn)生的碎片.比如,我想在現(xiàn)有的聚集索引中插入一行,這行正好導(dǎo)致現(xiàn)有的頁空間無法滿足容納新的行。從而導(dǎo)致了分頁:

   1

     因?yàn)樵赟QL SERVER中,新的頁是隨著數(shù)據(jù)的增長不斷產(chǎn)生的,而聚集索引要求行之間連續(xù),所以很多情況下分頁后和原來的頁在磁盤上并不連續(xù).

     這就是所謂的外部碎片.

     由于分頁會導(dǎo)致數(shù)據(jù)在頁之間的移動,所以如果插入更新等操作經(jīng)常需要導(dǎo)致分頁,則會大大提升IO消耗,造成性能下降.

     而對于查找來說,在有特定搜索條件,比如where子句有很細(xì)的限制或者返回?zé)o序結(jié)果集時,外部碎片并不會對性能產(chǎn)生影響。但如果要返回掃描聚集索引而查找連續(xù)頁面時,外部碎片就會產(chǎn)生性能上的影響.

     在SQL Server中,比頁更大的單位是區(qū)(Extent).一個區(qū)可以容納8個頁.區(qū)作為磁盤分配的物理單元.所以當(dāng)頁分割如果跨區(qū)后,需要多次切區(qū)。需要更多的掃描.因?yàn)樽x取連續(xù)數(shù)據(jù)時會不能預(yù)讀,從而造成額外的物理讀,增加磁盤IO.

 

理解內(nèi)部碎片

    和外部碎片一樣,內(nèi)部碎片的”內(nèi)”也是相對頁來說的.下面我們來看一個例子:

    2

    我們創(chuàng)建一個表,這個表每個行由int(4字節(jié)),char(999字節(jié))和varchar(0字節(jié)組成),所以每行為1003個字節(jié),則8行占用空間1003*8=8024字節(jié)加上一些內(nèi)部開銷,可以容納在一個頁面中:

    3

    當(dāng)我們隨意更新某行中的col3字段后,造成頁內(nèi)無法容納下新的數(shù)據(jù),從而造成分頁:

    4

   分頁后的示意圖:

   5

    而當(dāng)分頁時如果新的頁和當(dāng)前頁物理上不連續(xù),則還會造成外部碎片

內(nèi)部碎片和外部碎片對于查詢性能的影響

    外部碎片對于性能的影響上面說過,主要是在于需要進(jìn)行更多的跨區(qū)掃描,從而造成更多的IO操作.

    而內(nèi)部碎片會造成數(shù)據(jù)行分布在更多的頁中,從而加重了掃描的頁樹,也會降低查詢性能.

    下面通過一個例子看一下,我們?nèi)藶榈臑閯偛拍莻€表插入一些數(shù)據(jù)造成內(nèi)部碎片:

    6

    通過查看碎片,我們發(fā)現(xiàn)這時碎片已經(jīng)達(dá)到了一個比較高的程度:

    7

    通過查看對碎片整理之前和之后的IO,我們可以看出,IO大大下降了:

    8

 

對于碎片的解決辦法

    基本上所有解決辦法都是基于對索引的重建和整理,只是方式不同

    1.刪除索引并重建

       這種方式并不好.在刪除索引期間,索引不可用.會導(dǎo)致阻塞發(fā)生。而對于刪除聚集索引,則會導(dǎo)致對應(yīng)的非聚集索引重建兩次(刪除時重建,建立時再重建).雖然這種方法并不好,但是對于索引的整理最為有效

    2.使用DROP_EXISTING語句重建索引

       為了避免重建兩次索引,使用DROP_EXISTING語句重建索引,因?yàn)檫@個語句是原子性的,不會導(dǎo)致非聚集索引重建兩次,但同樣的,這種方式也會造成阻塞

    3.如前面文章所示,使用ALTER INDEX REBUILD語句重建索引

       使用這個語句同樣也是重建索引,但是通過動態(tài)重建索引而不需要卸載并重建索引.是優(yōu)于前兩種方法的,但依舊會造成阻塞??梢酝ㄟ^ONLINE關(guān)鍵字減少鎖,但會造成重建時間加長.

    4.使用ALTER INDEX REORGANIZE

       這種方式不會重建索引,也不會生成新的頁,僅僅是整理,當(dāng)遇到加鎖的頁時跳過,所以不會造成阻塞。但同時,整理效果會差于前三種.

 

理解填充因子

      重建索引固然可以解決碎片的問題.但是重建索引的代價(jià)不僅僅是麻煩,還會造成阻塞。影響使用.而對于數(shù)據(jù)比較少的情況下,重建索引代價(jià)并不大。而當(dāng)索引本身超過百兆的時候。重建索引的時間將會很讓人蛋疼.

      填充因子的作用正是如此。對于默認(rèn)值來說,填充因子為0(0和100表示的是一個概念),則表示頁面可以100%使用。所以會遇到前面update或insert時,空間不足導(dǎo)致分頁.通過設(shè)置填充因子,可以設(shè)置頁面的使用程度:

     9

      下面來看一個例子:

      還是上面那個表.我插入31條數(shù)據(jù),則占4頁:

      10

     通過設(shè)置填充因子,頁被設(shè)置到了5頁上:

     11

     這時我再插入一頁,不會造成分頁:

     12

     上面的概念可以如下圖來解釋:

     13

      可以看出,使用填充因子會減少更新或者插入時的分頁次數(shù),但由于需要更多的頁,則會對應(yīng)的損失查找性能.

     

如何設(shè)置填充因子的值

    如何設(shè)置填充因子的值并沒有一個公式或者理念可以準(zhǔn)確的設(shè)置。使用填充因子雖然可以減少更新或者插入時的分頁,但同時因?yàn)樾枰嗟捻?,所以降低了查詢的性能和占用更多的磁盤空間.如何設(shè)置這個值進(jìn)行trade-off需要根據(jù)具體的情況來看.

    具體情況要根據(jù)對于表的讀寫比例來看,我這里給出我認(rèn)為比較合適的值:

    1.當(dāng)讀寫比例大于100:1時,不要設(shè)置填充因子,100%填充

    2.當(dāng)寫的次數(shù)大于讀的次數(shù)時,設(shè)置50%-70%填充

    3.當(dāng)讀寫比例位于兩者之間時80%-90%填充

    上面的數(shù)據(jù)僅僅是我的看法,具體設(shè)置的數(shù)據(jù)還要根據(jù)具體情況進(jìn)行測試才能找到最優(yōu).

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
日本高清www免费视频| 精品一区二区三区的国产在线观看| 激情小说一区| 美女喷水网站| 97精品高清一区二区三区| 少妇av片在线观看| 婷婷久久综合九色综合绿巨人| 黄网站网址视频| 中日韩美女免费视频网站在线观看| www成人在线| 国产精品久久久久国产a级| 欧美色欧美亚洲高清在线视频| 久久激情五月激情| 国产精彩视频在线| 日产国产欧美视频一区精品| eeuss影院www影院入口| 日本18视频网站| 欧美大胆人体bbbb| 黄色片视频免费| 亚洲欧洲国产精品| 亚洲成a人v欧美综合天堂麻豆| 超碰免费在线播放| 3d动漫精品啪啪一区二区竹菊| 91高清免费看| 亚洲国产成人tv| 亚洲国产精品久久久久婷婷软件| 日本欧美一区二区| 亚洲激情小视频| 久热re国产手机在线观看| 免费av播放| eeuss草民免费| 男人添女人下面免费视频| 亚洲精品无码专区在线播放| 国产精品久久久久久久电影| 中文字幕www| 亚洲美女屁股眼交3| 亚洲av片不卡无码久久| 色噜噜狠狠一区二区三区狼国成人| 绿色成人影院| 精品一区二区三区的国产在线播放| 在线观看亚洲一区| 日韩欧美精品一区二区三区| 美女在线一区| 午夜一区二区三区四区| 亚洲精品欧美综合四区| 久久久久久av无码免费网站下载| 国产乱国产乱老熟300| 免费a级在线播放| 国产亚洲一区| 久久一区91| 中文字幕日韩一区二区不卡| 在线精品亚洲| 亚洲国产精品成人无久久精品| 91短视频推广| 高清欧美性猛交| 超级白嫩亚洲国产第一| 在线视频中文字幕第一页| 99久热re在线精品996热视频| 日本成人中文字幕在线视频| 精品剧情v国产在线观看| 欧美日韩国产限制| 国产精品毛片久久久久久| 美女免费免费看网站| 欧美性生交大片| 91网站免费看| 欧美理论电影在线精品| 一二三四日本在线| 欧美久久久久久久久久| 永久免费在线观看| 国产h视频在线观看| 3751色影院一区二区三区| 在线色视频观看| 99re8在线精品视频免费播放| www.免费黄色| 中文字幕91视频| 国产日本韩国在线播放| 极品裸体白嫩激情啪啪国产精品| 色屁屁www国产馆在线观看| 久久这里只有精品9| 最新欧美色图| 成人亚洲性情网站www在线观看| www国产在线| www.91av| 国产一区二区香蕉| 国产一二在线播放| 黄色免费网站在线观看| 在线日韩电影| 久久精品人人做| 亚洲色图14p| 91美女片黄在线观看| 国产精品久久久一本精品| 97在线观看视频| 日本成人黄色免费看| 麻豆成人在线视频| av二区三区| 国产精品无码一区二区三区免费| 91视频福利| 成熟丰满熟妇高潮xxxxx视频| 成人av毛片| 一区二区三区我不卡| 国产精品超碰| 激情欧美日韩一区| 久久婷婷五月综合色丁香| 这里只有精品国产| 亚洲国产成人高清精品| 久久久亚洲天堂| 国产中文字幕一区| 亚洲精品自产拍在线观看app| 欧美国产日韩精品免费观看| 狠狠色丁香久久婷婷综合丁香| 国产66精品久久久久999小说| 亚欧洲精品在线视频免费观看| 国产精品www色诱视频| 99热这里只有精品3| 国产精品69久久久| 麻豆av一区二区三区| 亚洲人做受高潮| 国产成人福利短视频app| av资源在线观看免费高清| **孕交吃奶水一级毛片| 天天射天天干天天| 精品中文字幕一区二区三区av| 日韩高清在线不卡| 精品久久久久av| 国产精品夜夜爽| 久艹在线观看视频| 国产羞羞视频在线观看| 国产成人亚洲综合无码| 国产黄色麻豆视频| 中文字幕亚洲专区| 久久精品伊人| 2018亚洲男人天堂| 视频一区二区国产| 中文字幕国产专区| 久久综合五月婷婷| 亚洲成a人片77777精品| 色综合激情久久| 欧美韩国日本精品一区二区三区| 欧洲永久精品大片ww免费漫画| 亚洲成色999久久网站| 国产男女无套在线播放| 法国空姐电影在线观看| 久色乳综合思思在线视频| 在线观看www91| 亚洲国产成人一区二区三区| 国产精品自产拍在线观看| 亚洲欧美激情一区二区三区| 尤物在线视频观看| 欧美日韩一区二区区| 五月婷婷激情在线| 久久五月精品中文字幕| 国产模特精品视频久久久久| 久久91亚洲精品中文字幕| 精品在线视频一区二区| 亚洲免费国产| 国产精品毛片在线看| 欧美最猛性xxxxx直播| 欧美视频一区二| 亚洲手机成人高清视频| 乱亲女秽乱长久久久| 免费污视频在线观看| 波多野结衣在线影院| 一区二区三区.www| 午夜在线观看视频| 国产aⅴ激情无码久久久无码| 亚洲线精品一区二区三区| 亚洲第一区视频| 91九色在线播放| av电影天堂一区二区在线观看| 天堂网www在线中文天堂| 久久久无码人妻精品无码| 久草免费资源站| 精品国产乱码久久久久久免费| 在线精品视频小说1| 亚洲无码精品在线播放| 狠狠色噜噜狠狠狠狠色吗综合| 欧美日韩精品欧美日韩精品| 91蜜桃免费观看视频| 亚洲精选在线| 成人网站免费观看入口| 久久se这里有精品| 香蕉久久网站| 国产日韩视频在线| 高清视频一区二区| 亚洲日本久久久| 日本久久久a级免费| 久久久久成人精品免费播放动漫| 久久人人爽人人爽人人片亚洲| 伊人久久大香线蕉综合网蜜芽| 免费99精品国产自在在线| yellow中文字幕久久| 偷拍自拍在线视频| 国产精品不卡一区二区三区在线观看| 久久亚洲AV无码| 中文字幕在线播放第一页| 久久久久久久久久久网| 国产又大又黑又粗免费视频| 亚洲国产经典视频| xfplay精品久久| 岛国片av在线| 九九夜夜操妹子| 欧美亚洲高清| 影音先锋男人资源站| 中文字幕免费在线视频| 成人小视频在线观看免费| 国产精品视频一二三四区| 精品伦精品一区二区三区视频密桃| 欧美夜福利tv在线| 欧美日本另类xxx乱大交| 成人av免费在线播放| 日本黄色片一级片| 国产永久免费高清在线观看| 日本网站在线免费观看| 国产精品国产精品国产| 神马影院一区二区三区| 欧美极品美女电影一区| 在线观看精品一区| 在线播放91灌醉迷j高跟美女| 亚洲日本一区二区三区在线观看| 欧美精品黑人性xxxx| 91在线高清观看| 国产小视频免费在线网址| 国产精品jizz在线观看老狼| 综合天天久久| 可以免费看污视频的网站在线| 亚洲午夜女主播在线直播| 最近国产精品视频| 国产精品在线| 九一精品国产| 欧美大胆性生话| 中文字幕自拍vr一区二区三区| 青草影视电视剧免费播放在线观看| 992tv免费直播在线观看| 无码人妻精品一区二区三区9厂| 欧美色图亚洲| 1024国产在线| 国产亚洲欧美日韩一区二区| 精品欧美国产一区二区三区不卡| 色资源二区在线视频| 一区二区电影网| 蜜芽一区二区三区| 麻豆短视频在线观看| 中文视频一区视频二区视频三区| 亚洲四虎av| 日韩av一区二区三区美女毛片| 亚洲网站情趣视频| 超碰在线最新网址| 99久久精品国产网站| 日韩免费高清av| 99视频免费观看| 97久精品国产片一区二区三区| 91九色综合久久| 四虎影视成人永久免费观看视频| 一区二区三区在线观看国产| 久久精品国产亚洲一区二区| 成人国产激情在线| 一级日韩一级欧美| 久久一夜天堂av一区二区三区| 女人色偷偷aa久久天堂| 欧美电影免费观看高清| 国产亚洲一区在线| 好吊视频在线观看| 美日韩一二三区| 蜜桃视频m3u8在线观看| jizzjizz中国精品麻豆| 国产日韩欧美高清| 不许穿内裤随时挨c调教h苏绵| 亚洲精品久久7777| 欧美黑人一区二区三区| 麻豆精品一区二区三区| 在线成人免费| 日韩一区二区三区在线看| 中文字幕乱码一区二区| 人人妻人人藻人人爽欧美一区| 日韩av一区二区三区在线观看| 亚洲xxxx3d| 精品国产依人香蕉在线精品| 欧美疯狂做受xxxx高潮| 欧美视频精品在线| 91免费视频大全| 波多野结衣50连登视频| 国产欧美日韩丝袜精品一区| 久久久无码一区二区三区| 麻豆极品一区二区三区| eeuss性xxxxxx电影| www.久久国产| 精品成在人线av无码免费看| 亚洲午夜精品视频| 午夜精品视频在线观看一区二区| 五月婷婷开心综合| 欧美中文字幕在线| 视频在线亚洲| 尤物av一区二区| 国产亚洲欧美另类一区二区三区| 欧美日本三区| 日韩在线免费观看视频| 波多野结衣国产精品| 亚洲丝袜精品丝袜在线| 天堂午夜影视日韩欧美一区二区| 女性隐私黄www网站视频| 日韩精品一区二区三区四区五区| 波多野结衣黄色网址| 一区二区三区四区五区视频在线观看| 播五月开心婷婷综合| 亚洲黄页在线观看| 女同视频在线观看| 日韩精品视频在线观看视频| 亚洲成人av免费观看| 久久精品国产亚洲精品| 国产一区二区三区乱码| 久久国产乱子伦免费精品| 中文字幕中文字幕在线中一区高清| 天堂社区在线视频| 懂色av一区二区三区免费看| 丁香另类激情小说| 狠狠97人人婷婷五月| 快灬快灬一下爽蜜桃在线观看| 欧美综合一区二区三区| 4k岛国日韩精品**专区| 99成人精品视频| 国产黄色大片网站| 国产一区二区三区四区在线| 亚洲午夜av在线| 99精品热视频只有精品10| 黄色一级片网址| 国产精品99久久久精品无码| 成人免费图片免费观看| 国产91九色视频|