在SQL SERVER中,數據庫在硬盤上的存儲方式和普通文件在Windows中的存儲方式沒有什么不同,僅僅是幾個文件而已.SQL SERVER通過管理邏輯上的文件組的方式來管理文件.理解文件和文件組的概念對于更好的配置數據庫來說是最基本的知識。
理解文件和文件組
在SQL SERVER中,通過文件組這個邏輯對象對存放數據的文件進行管理.
先來看一張圖:
還有一點要注意的是,如果一個表是存在物理上的多個文件中時,則表的數據頁的組織為N(N為具體的幾個文件)個B樹.而不是一個對象為一個B樹.
創建和使用文件組
創建文件或是文件組可以通過在SSMS中或者使用T-SQL語句進行。對于一個數據庫來說,既可以在創建時增加文件和文件組,也可以向現有的數據庫添加文件和文件組.這幾種方式大同小異.下面來看一下通過SSMS向現有數據庫添加文件和文件組.
首先創建文件組:
下面我們就可以通過語句將創建的表或者索引加入到新的文件組中了:
使用多個文件的優點與缺點
通常情況下,小型的數據庫并不需要創建多個文件來分布數據。但是隨著數據的增長,使用單個文件的弊端就開始顯現。
首先:使用多個文件分布數據到多個硬盤中可以極大的提高IO性能.
其次:多個文件對于數據略多的數據庫來說,備份和恢復都會輕松很多.我碰見過遇到一個150G的數據庫,手頭卻沒有這么大的存儲設備…
但是,在數據庫的世界中,每一項好處往往伴隨著一個壞處:
顯而易見,使用多文件需要占用更多的磁盤空間。這是因為每個文件中都有自己的一套B樹組織方式,和自己的增長空間。當然了,還有一套自己的碎片-.-但是在大多數情況下,多占點磁盤空間帶來的弊端要遠遠小于多文件帶來的好處.
總結
本文對SQL SERVER中文件和文件組的概念進行了簡單闡述,并在文中講述了文件和文件組的配置方式。按照業務組織好不同的文件組來分布不同的文件,使得性能的提升,對于你半夜少接幾個電話的幫助是灰常大滴:-)
新聞熱點
疑難解答