版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1.估計數(shù)據(jù)庫占用磁盤空間的大小1.1 估計堆的大小Num_Rows = 表中的行數(shù)計算存儲所需的空間,計算每組列在數(shù)據(jù)行中所占據(jù)的空間。列的大小取決于數(shù)據(jù)類型和長度規(guī)定。有關詳細信息,請參閱數(shù)據(jù)類型(數(shù)據(jù)庫引擎)。Num_Cols = 總列數(shù)(固定長度和可變長度)Fixed_Data_Size = 所有固定長度列的總字節(jié)大小Num_Variable_Cols = 可變長度列的數(shù)量Max_Var_Size = 所有可變長度列的最大總字節(jié)大小Null_Bitmap = 2 + (Num_Cols + 7 / 8只應使用該表達式的整數(shù)部分。而放棄所有余數(shù)。如果表中有可變長度列,請確定在行中存儲這些
2、列需使用的空間:Variable_Data_Size = 2 + (Num_Variable_Cols x 2 + Max_Var_Size添加到 Max_Var_Size 中的字節(jié)用于跟蹤每個可變長度列。此公式假設所有可變長度列均百分之百充滿。如果預計可變長度列占用的存儲空間比例較低,則可以按照該比例調整 Max_Var_Size 值,從而對整個表大小得出一個更準確的估計。Row_Size = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap + 4(每頁有 8096 個可用字節(jié))Rows_Per_Page = 8096 / (Row_Si
3、ze + 2因為行不跨頁,所以每頁的行數(shù)應向下舍入到最接近的整數(shù)。公式中的數(shù)值 2 是計算行數(shù)時引入的行大小余量。Num_Pages = Num_Rows / Rows_Per_Page估計的頁數(shù)應向上舍入到最接近的整數(shù)。(每頁的總字節(jié)為 8192)堆大小(字節(jié))= 8192 x Num_Pages1.2 估計聚集索引的大小Num_Rows = 表中的行數(shù)計算每組列在數(shù)據(jù)行中所占據(jù)的空間。列的大小取決于數(shù)據(jù)類型和長度規(guī)定。有關詳細信息,請參閱數(shù)據(jù)類型(數(shù)據(jù)庫引擎)。Num_Cols = 總列數(shù)(固定長度和可變長度)Fixed_Data_Size = 所有固定長度列的總字節(jié)大小Num_Varia
4、ble_Cols = 可變長度列的數(shù)量Max_Var_Size = 所有可變長度列的最大字節(jié)大小如果聚集索引不唯一,則請說明“唯一標識符”列:唯一標識符是可為 Null 的可變長度列。在具有非唯一鍵值的行中,它非 Null 而且大小為 4 個字節(jié)。此值是索引鍵的一部分,用于確保每一行都具有唯一的鍵值。Num_Cols = Num_Cols + 1Num_Variable_Cols = Num_Variable_Cols + 1Max_Var_Size = Max_Var_Size + 4這些修改假定所有值都不是唯一的。保留行中稱為 Null 位圖的部分以管理列的為空性。計算其大?。篘ull_B
5、itmap = 2 + (Num_Cols + 7 / 8僅使用上述表達式中的整數(shù)部分,而放棄所有余數(shù)。如果表中有可變長度列,請確定在行中存儲這些列需使用的空間:Variable_Data_Size = 2 + (Num_Variable_Cols x 2 + Max_Var_Size添加到 Max_Var_Size 中的字節(jié)用于跟蹤每個可變列。此公式假設所有可變長度列均百分之百充滿。如果預計可變長度列占用的存儲空間比例較低,則可以按照該比例調整 Max_Var_Size 值,從而對整個表大小得出一個更準確的估計。如果沒有可變長度列,請將 Variable_Data_Size 設置為 0。Ro
6、w_Size = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap + 4值 4 是數(shù)據(jù)行的行標題的開銷。(每頁有 8096 個可用字節(jié)):Rows_Per_Page = 8096 / (Row_Size + 2因為行不跨頁,所以每頁的行數(shù)應向下舍入到最接近的整數(shù)。公式中的數(shù)值 2 是計算行數(shù)時引入的行大小余量。根據(jù)指定的填充因子計算每頁保留的空行數(shù):Free_Rows_Per_Page = 8096 x (100 - Fill_Factor / 100 / (Row_Size + 2計算中使用的填充因子為整數(shù)值,而不是百分比。因為行不跨頁,
7、所以每頁的行數(shù)應向下舍入到最接近的整數(shù)。填充因子增大時,每頁將存儲更多的數(shù)據(jù),因此頁數(shù)將減少。公式中的數(shù)值 2 是計算行數(shù)時引入的行大小余量。Num_Leaf_Pages = Num_Rows / (Rows_Per_Page - Free_Rows_Per_Page估計的頁數(shù)應向上舍入到最接近的整數(shù)。(每頁共有 8192 個字節(jié)):Leaf_space_used = 8192 x Num_Leaf_Pages指定索引鍵中固定長度和可變長度列的數(shù)量,并計算存儲所需的空間:索引鍵列可以包括固定長度和可變長度列。若要估計內部級別索引行的大小,請計算每組列在索引行中所占據(jù)的空間。列的大小取決于數(shù)據(jù)類
8、型和長度規(guī)定。有關詳細信息,請參閱數(shù)據(jù)類型(數(shù)據(jù)庫引擎)。Num_Key_Cols = 總鍵列數(shù)(固定長度和可變長度)Fixed_Key_Size = 所有固定長度鍵列的總字節(jié)大小Num_Variable_Key_Cols = 可變長度鍵列的數(shù)量Max_Var_Key_Size = 所有可變長度鍵列的最大字節(jié)大小如果索引不唯一,則請說明所需的任意唯一標識符:唯一標識符是可為 Null 的可變長度列。它將是非 Null 的,在具有非唯一索引鍵值的行中的大小是 4 個字節(jié)。此值是索引鍵的一部分,用于確保每一行都具有唯一的鍵值。Num_Key_Cols = Num_Key_Cols + 1Num_V
9、ariable_Key_Cols = Num_Variable_Key_Cols + 1Max_Var_Key_Size = Max_Var_Key_Size + 4這些修改假定所有值都不是唯一的。計算 Null 位圖大?。喝绻饕I中有允許為 Null 的列,則索引行的一部分將為 Null 位圖保留。計算其大?。篒ndex_Null_Bitmap = 2 + (索引行中的列數(shù) + 7 / 8僅應使用上述表達式中的整數(shù)部分,而放棄所有余數(shù)。如果沒有可為 Null 的鍵列,請將 Index_Null_Bitmap 設置為 0。如果索引中有可變長度列,請確定在索引行中存儲這些列需使用的空間:Var
10、iable_Key_Size = 2 + (Num_Variable_Key_Cols x 2 + Max_Var_Key_Size添加到 Max_Var_Key_Size 中的字節(jié)用于跟蹤每個可變長度列。此公式假設所有可變長度列均百分之百充滿。如果預計可變長度列占用的存儲空間比例較低,則可以按照該比例調整 Max_Var_Key_Size 值,從而對整個表大小得出一個更準確的估計。如果沒有可變長度列,請將 Variable_Key_Size 設置為 0。Index_Row_Size = Fixed_Key_Size + Variable_Key_Size + Index_Null_Bitma
11、p + 1(對應于索引行的行標題開銷)+ 6(對應于子頁 ID 指針)。(每頁有 8096 個可用字節(jié))Index_Rows_Per_Page = 8096 / (Index_Row_Size + 2因為索引行不能跨頁,所以每頁的索引行數(shù)應向下舍入到最接近的整數(shù)。公式中的 2 是計算行數(shù)時引入的行大小余量。Non-leaf_Levels = 1 + log Index_Rows_Per_Page (Num_Leaf_Pages / Index_Rows_Per_Page將此值向上舍入到最接近的整數(shù)。此值不包括聚集索引的葉級別。計算索引中的非葉頁數(shù):Num_Index_Pages = Level
12、 (Num_Leaf_Pages / (Index_Rows_Per_PageLevel其中,1 = Level = Non-leaf_Levels將每個被加數(shù)向上舍入到最接近的整數(shù)。由于是個簡單示例,請考慮使用 Num_Leaf_Pages = 1000 和 Index_Rows_Per_Page = 25 的索引。頁級別以上的第一個索引級別存儲 1000 個索引行,即每個葉頁一個索引行,每頁可以包括 25 個索引行。這意味著存儲這 1000 個索引行需要 40 頁。下一級索引必須存儲 40 行。這意味著需要 2 頁。最后一級索引必須存儲 2 行。這意味著需要 1 頁。這就提供了 43 個非
13、葉索引頁。如果將這些數(shù)用到前面的公式中,結果如下:Non-leaf_Levels = 1 + log25 (1000 / 25 = 3Num_Index_Pages = 1000/(253+ 1000/(252 + 1000/(251 = 1 + 2 + 40 = 43,這是上面的示例中所述的頁數(shù)。(每頁總共有 8192 個字節(jié)):Index_Space_Used = 8192 x Num_Index_Pages聚集索引大?。ㄗ止?jié))= Leaf_Space_Used + Index_Space_used此計算不考慮以下因素:(1)分區(qū):分區(qū)的空間開銷很小,但是計算復雜。是否包括它并不重要。(2
14、)分配頁:至少有一個 IAM 頁用于跟蹤為堆分配的頁,但是空間開銷很小,并且沒有算法可以精確地計算出要使用的 IAM 頁數(shù)。(3)大型對象 (LOB 值:精確確定存儲 LOB 數(shù)據(jù)類型 varchar(max、varbinary(max、nvarchar(max、text、ntext、xml 和 image 值所用的空間量的算法非常復雜。只需加上所期望的 LOB 值的平均大小,再乘以 Num_Rows,然后再加上聚集索引的總大小就可以了。(4)壓縮:無法預先計算壓縮索引的大小。1.3 估計非聚集索引的大小Num_Rows = 表中的行數(shù)指定索引鍵中固定長度和可變長度列的數(shù)量,并計算存儲所需的空
15、間:索引鍵列可以包括固定長度和可變長度列。若要估計內部級別索引行的大小,請計算每組列在索引行中所占據(jù)的空間。列的大小取決于數(shù)據(jù)類型和長度規(guī)定。有關詳細信息,請參閱數(shù)據(jù)類型(數(shù)據(jù)庫引擎)。Num_Key_Cols = 總鍵列數(shù)(固定長度和可變長度)Fixed_Key_Size = 所有固定長度鍵列的總字節(jié)大小Num_Variable_Key_Cols = 可變長度鍵列的數(shù)量Max_Var_Key_Size = 所有可變長度鍵列的最大字節(jié)大小如果索引不是唯一的,對所需的數(shù)據(jù)行定位符說明如下:如果非聚集索引不是唯一的,數(shù)據(jù)行定位符將與非聚集索引鍵組合使用,以便為每一行生成唯一的鍵值。如果非聚集索引在
16、堆上,則數(shù)據(jù)行定位符是堆 RID。其大小是 8 個字節(jié)。Num_Key_Cols = Num_Key_Cols + 1Num_Variable_Key_Cols = Num_Variable_Key_Cols + 1Max_Var_Key_Size = Max_Var_Key_Size + 8如果非聚集索引在聚集索引之上,則數(shù)據(jù)行定位符是聚集鍵。必須與非聚集索引鍵結合使用的列是聚集鍵中的以下列:不在非聚集索引鍵列集中的列。Num_Key_Cols = Num_Key_Cols + 不在非聚集索引鍵列集中的聚集鍵列數(shù)(如果聚集索引不唯一,則 + 1)Fixed_Key_Size = Fixed_
17、Key_Size + 不在非聚集索引鍵列集中的固定長度聚集鍵列的總字節(jié)大小Num_Variable_Key_Cols = Num_Variable_Key_Cols + 不在非聚集索引鍵列集中的可變長度聚集鍵列數(shù)(如果聚集索引不唯一,則 + 1)Max_Var_Key_Size = Max_Var_Key_Size + 不在非聚集索引鍵列集中的可變長度聚集鍵列的最大字節(jié)大小(如果聚集索引不唯一,則 + 4)可以保留行的一部分(稱為“空位圖”),以管理列的為空性。計算其大?。喝绻饕I中有可為 Null 的列(包括步驟 1.3 中所述的所有必要的聚集鍵列),則保留索引行的一部分,以用于 Null
18、 位圖。Index_Null_Bitmap = 2 + (索引行中的列數(shù) + 7 / 8僅應使用上述表達式中的整數(shù)部分,而放棄所有余數(shù)。如果沒有可為 Null 的鍵列,請將 Index_Null_Bitmap 設置為 0。計算可變長度數(shù)據(jù)大?。喝绻饕I中有可變長度的列(包括所有必要的聚集索引鍵列),請確定存儲索引行中的這些列需使用的空間:Variable_Key_Size = 2 + (Num_Variable_Key_Cols x 2 + Max_Var_Key_Size添加到 Max_Var_Key_Size 中的字節(jié)用于跟蹤每個可變列。此公式假定所有可變長度列均百分之百充滿。如果預計可
19、變長度列占用的存儲空間比例較低,則可以按照該比例調整 Max_Var_Key_Size 值,從而對整個表大小得出一個更準確的估計。如果沒有可變長度列,請將 Variable_Key_Size 設置為 0。計算索引行大小:Index_Row_Size = Fixed_Key_Size + Variable_Key_Size + Index_Null_Bitmap + 1(對應于索引行的行標題開銷)+ 6(對應于子頁 ID 指針)計算每頁的索引行數(shù)(每頁有 8096 個可用字節(jié)):Index_Rows_Per_Page = 8096 / (Index_Row_Size + 2因為索引行不能跨頁,所
20、以每頁的索引行數(shù)應向下舍入到最接近的整數(shù)。公式中的 2 是計算行數(shù)時引入的行大小余量。如果非聚集索引沒有任何包含列:Num_Leaf_Cols = Num_Key_ColsFixed_Leaf_Size = Fixed_Key_SizeNum_Variable_Leaf_Cols = Num_Variable_Key_ColsMax_Var_Leaf_Size = Max_Var_Key_Size如果非聚集索引確實具有包含列,則對步驟 1 中的值加上適當?shù)闹怠A械拇笮∪Q于數(shù)據(jù)類型和長度規(guī)定。有關詳細信息,請參閱數(shù)據(jù)類型(數(shù)據(jù)庫引擎)。Num_Leaf_Cols = Num_Key_Cols
21、+ 包含列數(shù)Fixed_Leaf_Size = Fixed_Key_Size + 固定長度包含列的總字節(jié)大小Num_Variable_Leaf_Cols = Num_Variable_Key_Cols + 可變長度包含列數(shù)Max_Var_Leaf_Size = Max_Var_Key_Size + 可變長度包含列的最大字節(jié)大小如果非聚集索引不是唯一的。轉到下一步。如果非聚集索引是唯一的,則必須在葉級的所有行中說明數(shù)據(jù)行定位符。如果非聚集索引在堆上,則數(shù)據(jù)行定位符是堆 RID(大小為 8 字節(jié))。Num_Leaf_Cols = Num_Leaf_Cols + 1Num_Variable_Leaf
22、_Cols = Num_Variable_Leaf_Cols + 1Max_Var_Leaf_Size = Max_Var_Leaf_Size + 8如果非聚集索引在聚集索引之上,則數(shù)據(jù)行定位符是聚集鍵。必須與非聚集索引鍵結合使用的列是聚集鍵中的以下列:不在非聚集索引鍵列集中的列。Num_Leaf_Cols = Num_Leaf_Cols + 不在非聚集索引鍵列集中的聚集鍵列數(shù)(如果聚集索引不唯一,則 + 1)Fixed_Leaf_Size = Fixed_Leaf_Size + 不在非聚集索引鍵列集中的固定長度聚集鍵列數(shù)Num_Variable_Leaf_Cols = Num_Variabl
23、e_Leaf_Cols + 不在非聚集索引鍵列集中的可變長度聚集鍵列數(shù)(如果聚集索引不唯一,則 + 1)Max_Var_Leaf_Size = Max_Var_Leaf_Size + 不在非聚集索引鍵列集中的可變長度聚集鍵列的字節(jié)大?。ㄈ绻奂饕晃ㄒ唬瑒t + 4)計算 Null 位圖大?。篖eaf_Null_Bitmap = 2 + (Num_Leaf_Cols + 7 / 8僅應使用上述表達式中的整數(shù)部分,而放棄所有余數(shù)。計算可變長度數(shù)據(jù)大?。喝绻饕I中有可變長度的列,請確定存儲索引行中的這些列需使用的空間:Variable_Leaf_Size = 2 + (Num_Variable_
24、Leaf_Cols x 2 + Max_Var_Leaf_Size添加到Max_Var_Key_Size中的字節(jié)用于跟蹤每個可變列。此公式假定所有可變長度列均百分之百充滿。如果預計可變長度列占用的存儲空間比例較低,則可以按照該比例調整 Max_Var_Leaf_Size 值,從而對整個表大小得出一個更準確的估計。如果沒有可變長度的列,則將 Variable_Leaf_Size 設置為 0。計算索引行大小:Leaf_Row_Size = Fixed_Leaf_Size + Variable_Leaf_Size + Leaf_Null_Bitmap + 1 (對應于索引行的行標題開銷)+ 6(對應于子頁 ID 指針)(每頁有 8096 個可用字節(jié)):Leaf_Rows_Per_Page = 8096 / (Leaf_Row_Size + 2因為索引行不能跨頁,所以每頁的索引行數(shù)應向下舍入到最接近的整數(shù)。公式中的 2 是計算行數(shù)時引入的行大小余量。根據(jù)指定的填充因子計算每頁保留的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025新版七下單詞默寫表
- 2021高考英語單項選擇(2)及答案(武漢市)
- 【全程復習方略】2020年高考政治一輪單元評估檢測15-必修4-第三單元(廣東專供)
- 四年級數(shù)學(小數(shù)加減運算)計算題專項練習與答案匯編
- 三年級數(shù)學計算題專項練習匯編及答案
- 【名師課堂-備課包】2013-2020學年高一下學期化學人教版必修2學案-第一章第3節(jié)
- 【名師一號】2020-2021學年高中地理必修一(中圖版)同步練習:第三單元綜合檢測
- 《汽車底盤機械系統(tǒng)檢測與修復》-考試題庫及答案 項目三 轉向系統(tǒng)檢修試題及答案
- 缺乏適合中國國情的洪水風險管理規(guī)范-教學教案
- 《《黨委會的工作方法》導讀》課件
- ATS技術交流(新型發(fā)動機智能恒溫節(jié)能冷卻系統(tǒng))100318
- 手術區(qū)皮膚的消毒和鋪巾ppt課件
- 日有所誦(二年級)
- 2022年度培訓工作總結
- 應急照明裝置安裝施工方法
- 靜力觸探技術標準
- 鋼結構、膜結構安全技術交底
- DB34∕T 4057-2021 中小河流防汛特征水位分析規(guī)程
- 單肺通氣技術
- 學生基本情況分析(通用11篇)
- 明天會更好歌詞
評論
0/150
提交評論