Sql server 檔案組和檔案

來源:互聯網
上載者:User

標籤:

1,檔案組和檔案的作用

Sql Server的資料存放區在檔案中,檔案是實際儲存資料的物理實體,檔案組是邏輯對象,Sql server通過檔案組來管理檔案。

 

一個DataBase有一個或多個FileGroup,PrimaryFileGroup是必需的,使用者可以根據需要添加FileGroup。每一個FileGroup管理一個或多個檔案,其中PrimaryFileGroup管理一個master data file,副檔名是.mdf,這個file是系統預設產生的;副檔名是.ndf的檔案是使用者根據需要添加的。

檔案組管理著磁碟上的檔案,檔案中存放著SQL SERVER database的實際資料。

2,樣本db

2.1樣本db的FileGroup如下

Primary 是一個FileGroup,是個預設的檔案組。如果在create table,create index中沒有指定FileGroup,將使用Default FileGroup管理的檔案來儲存實際的資料。

2,每一個FileGroup都有相應的File,File是實際儲存資料的物理實體。

File有兩種類型,一種是儲存資料的rows data,一種是儲存日誌的log。可以從path中找到磁碟上物理file。

File中儲存的資料經過sql server的處理,儲存的是sql server能夠識別的格式化資料。

3,使用檔案組管理檔案的好處

在實際的開發過程中,user只需要關注邏輯對象FileGroup,而不用關心資料的實體儲存體,即使實體儲存體的file變更,也不影響應用程式。如果同一個FileGroup內的檔案分布在不同的磁碟上,在讀取資料時,Sql Server能同時從不同的磁碟上讀取資料,極大的提高IO效能,這種實現方式是分區表實現的基礎,分區表能夠將不同的資料子集儲存在不同的磁碟上。

Tsql 查看database的filegroup和file

select * FROM sys.database_filesselect *from sys.filegroups

 

4,使用檔案組的情況

4.1 在建立表的時候,使用on子句指定FileGroup,那麼該表的資料將儲存在該FileGroup管理的File中。

CREATE TABLE [dbo].[student](    [stuid] [int] NOT NULL,    [stuname] [varchar](100) NOT NULL,    [professionid] [int] NULL,PRIMARY KEY CLUSTERED     (        [stuid] ASC    )) ON [PRIMARY]

4.2 在建立索引的時候,使用on子句指定FileGroup,那麼該表的索引結構將儲存在該FileGroup管理的File中。

CREATE NONCLUSTERED INDEX [idx_student_stuname] ON [dbo].[student]( [stuname] ASC ) ON [PRIMARY]

 

Sql server 檔案組和檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.