太陽電池的填充因子_光伏中填充因子的概念_sql索引的填充因子多少最好,填充因子有什么用
本文關(guān)鍵詞:填充因子,由筆耕文化傳播整理發(fā)布。
sql索引的填充因子多少最好,填充因子有什么用
和索引重建最相關(guān)的是填充因子。當(dāng)創(chuàng)建一個(gè)新索引,,或重建一個(gè)存在的索引時(shí),你可以指定一個(gè)填充因子,它是在索引創(chuàng)建時(shí)索引里的數(shù)據(jù)頁被填充的數(shù)量。填充因子設(shè)置為100意味著每個(gè)索引頁100%填滿,50%意味著每個(gè)索引頁50%填滿。
如果你創(chuàng)建一個(gè)填充因子為100的聚集索引(在一個(gè)非單調(diào)遞增的列上),那意味著每當(dāng)一個(gè)記錄被插入(或修改)時(shí),頁拆分都會(huì)發(fā)生,因?yàn)樵诂F(xiàn)存的頁上沒有這些數(shù)據(jù)的空間。很多的頁拆分會(huì)降低sqlserver的性能。
舉個(gè)例子:假定你剛剛用缺省的填充因子新創(chuàng)建了一個(gè)索引。當(dāng)sqlserver創(chuàng)建它時(shí),它把索引放在相鄰的物理頁面上,因?yàn)閿?shù)據(jù)能夠順序的讀所以這樣會(huì)有最優(yōu)的i/o訪問。但當(dāng)表隨著、、增加和改變時(shí),發(fā)生了頁拆分。當(dāng)頁拆分發(fā)生時(shí),sqlserver必須在磁盤的某處分配一個(gè)新的頁,這些新的頁和最初的物理頁不是連續(xù)的。因此,訪問使用的是隨機(jī)的i/o,而不是有順序的i/o,這樣訪問索引頁會(huì)變得更慢。
那么理想的填充因子是多少呢?它依賴于應(yīng)用程序?qū)qlserver表的讀和寫的比率。首要的原則,按照下面的指導(dǎo):
低更改的表(讀寫比率為100:1):100%的填充因子
高更改的表(寫超過讀):50-70%的填充因子
讀寫各一半的:80-90%的填充因子
在為應(yīng)用程序找到最優(yōu)的填充因子前也不得不進(jìn)行試驗(yàn)。不要假定一個(gè)低的填充因子總比高的好。低的填充因子會(huì)減少頁拆分,它也增加了sqlserver查詢期間讀的頁數(shù)量,從而減少性能。太低的填充因子不僅增加i/o開銷,也影響緩存。當(dāng)數(shù)據(jù)頁從磁盤移到緩存中時(shí),整個(gè)頁(包括空的空間)都移到緩存中。所以填充因子越低,不得不移到sqlserver緩存中的頁面就越多,意味著同時(shí)為其他重要數(shù)據(jù)頁駐留的空間就少,從而降低性能。
如果你沒有指定填充因子,缺省的填充因子時(shí)0,意味著100%的填充因子(索引的葉頁100%的填滿,但索引的中間頁有預(yù)留的空間)。
作為監(jiān)控的一部分,你要決定新建索引或重建索引時(shí)的填充因子是多少。事實(shí)上,除了只讀數(shù)據(jù)庫,所有的情況,缺省值0都是不適合的。相反,你想要一個(gè)填充因子保留合適的自由空間,按照上面的討論來做。
轉(zhuǎn)自:娃酷分類網(wǎng):
posted @
本文關(guān)鍵詞:填充因子,由筆耕文化傳播整理發(fā)布。
本文編號(hào):85795
本文鏈接:http://sikaile.net/wenshubaike/jyzy/85795.html