初學T-SQL筆記之 ON [PRIMARY]

來源:互聯網
上載者:User
筆記|初學
初學T-SQL之 ON [PRIMARY]

  這些天什麼都沒做。年前似乎有忙不完的事,年後了卻又有了好逸的毛病。。。。

  今天才開始看學校實驗指導的資料庫開發執行個體。以前一直沒有時間來看。。。

建立表的語句中,最後總來一句on[primary],這是什麼意思?

翻翻聯機叢書。在CREATE TABLE的文法下似乎沒有找到。硬著頭皮看下去,終於明白了一些。

寫出來吧。侯捷老師說,發表是最好的記憶。:)

在CREATE TABLE的文法中有這樣一句可選文法項目:
[ ON { filegroup | DEFAULT } ]

用來指定儲存表的檔案組。
如果指定 filegroup,則表將儲存在指定的檔案組中。資料庫中必須存在該檔案組。如果指定 DEFAULT,或者根本未指定 ON 參數,則表格儲存體在預設檔案組中。
(DEFAULT 並不是關鍵字。DEFAULT 是預設檔案組的標識符並需對其進行定界,如 ON "DEFAULT"、ON [DEFAULT]。)


ON [PRIMARY]是表示表是建立在主檔案組上。PRIMARY表示主檔案組。如果沒有指定預設檔案組,則主檔案組是預設檔案組,ON [PRIMARY]也可以省略掉了。

由資料庫說開來。Microsoft® SQL Server™ 2000 使用一組作業系統檔案對應資料庫,也可以說將資料庫映射到一組作業系統檔案上(看你怎麼理解了)。資料庫中的所有資料和對象(如表、預存程序、觸發器和視圖)都儲存在作業系統檔案(資料庫檔案):主要資料檔案 、次要資料檔案 和交易記錄 檔案中。

1.主要資料檔案 
該檔案包含資料庫的啟動資訊,並用於儲存資料。是資料庫的起點,指向資料庫中檔案的其它部分。每個資料庫都有一個主要資料檔案。主要資料檔案的推薦副檔名是 .mdf。


2.次要資料檔案
這些檔案含有不能置於主要資料檔案中的所有資料即包含除主要資料檔案外的所有資料檔案。有些資料庫可能沒有次要資料檔案,而有些資料庫則有多個次要資料檔案。(如果主檔案可以包含資料庫中的所有資料,那麼資料庫就不需要次要資料檔案。有些資料庫可能足夠大故需要多個次要資料檔案,或使用位於不同磁碟機上的輔助檔案將資料擴充到多個磁碟。)次要資料檔案的推薦副檔名是 .ndf。

3.交易記錄檔
該資料庫的日誌資訊。每個資料庫都必須至少有一個記錄檔。記錄檔的推薦副檔名是 .ldf。

檔案組
出於分配和管理目的,可以將資料庫檔案分成不同的檔案組。檔案組是SQL Server 2000資料檔案的一種邏輯管理單位。SQL Server中一個或多個檔案的命名集合,它構成分配或用於資料庫管理的單個單元。在首次建資料庫,或者以後將更多檔案添加到資料庫時,可以建立檔案組。檔案組不能獨立於資料庫檔案建立。檔案組是在資料庫中對檔案進行分組的一種管理機制。

有兩種類型的檔案組:主要檔案組和使用者定義檔案組。(可以說,資料庫由一個主檔案組和任意使用者定義的檔案組組成。)

1.主檔案組 (PRIMARY)
使用者定義檔案組 預設檔案組 同為檔案組的一種類型。
其包含主要資料檔案和任何沒有明確指派給其它檔案組的其它檔案。系統資料表的所有頁均分配在主檔案組.
2.使用者定義檔案組
使用者定義檔案組是在 CREATE DATABASE 或 ALTER DATABASE 語句中,使用 FILEGROUP 關鍵字或在 SQL Server 企業管理器內的"屬性"對話方塊指定的檔案組。

另:預設檔案組 (DEFAULT 檔案組)
檔案組的一種類型,其包含在建立時沒有指定檔案組的所有表和索引的頁。在每個資料庫中,每次只能有一個檔案組是預設檔案組。如果沒有指定預設檔案組,則預設檔案組是主檔案組。 可用 ALTER DATABASE 語句更改預設檔案組。通過更改預設檔案組,建立時沒有指定檔案組的任何對象都被分配到新預設檔案組中的資料檔案。然而,系統對象和表仍然保留在 PRIMARY 檔案組內,而不是新預設檔案組。(每個資料庫中都有一個檔案組作為預設檔案組運行。當 SQL Server 給建立時沒有為其指定檔案組的表或索引分配頁時,將從預設檔案組中進行分配。一次只能有一個檔案組作為預設檔案組。db_owner 固定資料庫角色成員可以將預設檔案組從一個檔案組切換到另一個。如果沒有指定預設檔案組,則主檔案組是預設檔案組。)


注:SQL Server 2000 在沒有檔案組時也能有效地工作,因此許多系統不需要指定使用者定義檔案組。在這種情況下,所有檔案都包含在主檔案組中,而且 SQL Server 2000 可以在資料庫內的任何位置分配資料。檔案組不是在多個磁碟機之間分配 I/O 的唯一方法。

附:

. 為什麼要建立檔案組

建立檔案組有兩個目的。

q        一是可以更好地分配和管理儲存空間,通過控制在特定磁碟機上放置資料和索引來提高資料庫的效能。

q        二是由於作業系統對物理檔案的大小進行了限制,所以當某個磁碟上的資料檔案超過單個檔案允許的最大值時,可以使用檔案組中存

貯在其他磁碟機上的資料檔案繼續擴充儲存空間。
. 資料檔案和檔案組的使用規則

SQL Server 2000中的資料檔案和檔案組的使用規則包括:

q        資料檔案或檔案組不能由一個以上的資料庫使用。

q        資料檔案只能是一個檔案組的成員。

q        資料檔案和記錄檔不能屬於同一檔案或檔案組。

q        記錄檔不能屬於任何檔案組。

q        只有檔案組中的所有資料檔案都沒有空間了,檔案組的檔案才會自動成長。

. 檔案組的工作原理

檔案組對組內的所有檔案都使用按比例填充策略。當將資料寫入檔案組時,SQL Server 2000根據檔案中的可用空間量將一定比例的資料寫入文

件組的每個檔案,而不是將所有的資料先寫滿第一個檔案,接著再寫入下一個檔案。例如,如果檔案1有100MB的可用空間,檔案2有200MB的可

用空間,則從檔案1中分配一個盤區,從檔案2中分配兩個盤區,依此類推。這樣,兩個檔案幾乎同時填滿。

一旦檔案組內的所有檔案已滿,SQL Server 2000就自動地採用迴圈方式一次擴充一個檔案,以容納更多的資料(假定資料庫設定為自動成長)

。例如,某個檔案組由3個檔案組成,它們都設定為自動成長。當檔案組中的所有檔案的空間用完時,只擴充第一個檔案。當第一個檔案已滿,

不能將更多的資料寫入該檔案組時,擴充第二個檔案。當第二個檔案已滿,不能將更多的資料寫入該檔案組時,擴充第3個檔案。如果第3個文

件已滿,不能將更多的資料寫入該檔案組,那麼再次擴充第一個檔案,以此類推。

正時由於檔案組的這種特性,允許跨多個磁碟、多個磁碟控制卡或 RAID(廉價磁碟冗餘陣列)系統建立資料庫,可提高資料庫效能。例如,如

果電腦中有4個磁碟,那麼可以建立一個由3個資料檔案和一個記錄檔組成的資料庫,每個磁碟上放置一個檔案。在對資料進行訪問時,四

個讀/寫磁頭可以同時並行地訪問資料,從而加速資料庫操作。

另外,檔案和檔案組允許資料布局,可以在特定的檔案組中建立表。因為特定表的所有輸入/輸出都可以定向到特定的磁碟,所以效能得以改善

。例如,可以將最常用的表放在一個檔案組中的一個檔案中,該檔案組位於一個磁碟上;而將資料庫中其它的不常訪問的表放在另一個檔案組

中的其它檔案中,該檔案組位於第二個磁碟上。
. 如何使用檔案組的建議

q       大多數資料庫在只有單個資料檔案和單個交易記錄檔的情況下可以很好地運行。

q        如果使用多個檔案,請為附加檔案建立第二個檔案組,並將其設定為預設檔案組。這樣,主檔案將僅包含系統資料表和對象。

q        若要獲得最佳效能,請在儘可能多的可用本地物理磁碟上建立檔案或檔案組,並將爭奪空間最激烈的對象置於不同的檔案組中。

q        使用檔案組以允許將對象放置在特定的物理磁碟上。

q        將在同一聯結查詢中使用的不同表置於不同的檔案組中。由於採用並行磁碟輸入/輸出對聯結資料進行搜尋,所以效能將得以改善。

q        將最常訪問的表和屬於這些表的非叢集索引置於不同的檔案組上。如果檔案位於不同的物理磁碟上,由於採用並行輸入/輸出,所以

效能得以提高。

q        不要將記錄檔與其它檔案和檔案組置於同一物理磁碟上。



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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