2010年10月18日 星期一

About MDF與LDF的blocks

有人跟我講SQL SERVER 放MDF File的磁碟格式化時最好用64K下去分割~~~
LDF File的磁碟格式化用預設4K就可以~~
那為什麼會這樣子呢??我有去幾個論壇及GOOGLE大神上找一下答案!!
答案應該如下:

SQL Server 一個 page 是 8Kb~~所以 1Mb 的資料相當於有 128 個 pages!!
NTFS 預設 cluster 分割為 4Kb
若是撈 10Mb 的資料時,相當於撈 1280 個 pages,要讀 2560 個 cluster
若改 cluster 分割為 64 Kb,相當於一個 cluster 可放 8 個 pages,所以只要讀 160 個 cluster
磁碟 I/O 量相對降低,效能可提升一些些
但相對地,面對交易紀錄檔或是同詞曲上的零碎檔案會付出使用額外磁碟空間的代價
其實 DB 的結構設計、正規化、索引、...、也都是影響效能的因素之一,並非分割 cluster 成 64Kb 就跟吃大補丸一樣有顯著的提升


參考資料:http://msdn.microsoft.com/zh-tw/library/ms190969(v=SQL.100).aspx
                    http://www.dbworld.com.tw/

沒有留言:

張貼留言