sql server表分割槽功能和檔案組的放置.
表分割槽提供了內建的方法來水平劃分表、索引中的資料,同時要管理乙個邏輯物件。水平分割槽是指每乙個分割槽都有同樣數量的列,只是減少了行的數量。分割槽能使超大型表、索引的管理變得簡單,減少載入時間,改善查詢時間,並允許更小的維護視窗。
sql server 2008增強了分割槽表查詢處理功能,包括可識別分割槽查詢操作、在執行計畫中訪問的分割槽更好的表現方式,以及新跟蹤標誌2440.它啟用了在並行查詢計畫中為每個分割槽分配多執行緒執行的能力.
資料庫資料檔案屬於檔案組,每乙個資料庫有乙個主要的檔案組,需要的話我們可以加入另外的檔案組。為資料庫加入新的檔案組通常用於超大型資料庫(vldb),因為它們通過把資料劃分成幾個陣列,能使備份管理操作變得簡單,並潛在提公升效能。
create partition function根據某列的值來將列對映到分割槽。例如,對某個datetime資料型別的列進行運算,可以根據年或月把資料劃分到不同的檔案組。
create partitlon function的基本語法如下;
create partition function partition_function_name(input_parameter_type)
as range [left | right]
for values ( [ boundary_value [ ,...n ] ])
create partition function引數
參 數
描 述
partition_function_name
指定了分割槽函式名
input_parameter_type
指定了分割槽列的資料型別。不能使用大值資料型別(text、ntext、image、xml、timestamp、varchar(max)、varbinary(max)、nvarchar(max))、clr使用者定義資料型別或者別名資料型別。如果希望根據乙個由datetime列來劃分襲資料,可以為input_parameter_type指定datetime
[left | right
定義了boundary_value引數定義的值屬於邊界的哪一側
[ boundary_value [ ,...n ] ]
這個引數定義每個分割槽的值域。可以定義多達999個分割槽(然而由於效能問題,可能不推薦這樣做)。你在這個引數中選擇的n個值會產生,n+1個分割槽
一旦建立了分割槽函式,它就叮以被乙個或多個分割槽方案使用。分割槽方案把定義在分割槽函式中的分割槽對映到實際的檔案組。
create partition scheme的基本語法如下:
create partitfon scheme partitton_scheme_name
as partition partition_function_name
[all] to ([…,n])
create partition scheme引數
引數 描述
partitton_scheme_name
指定分割槽方案的名字
partition_function_name
表示分割槽方案繫結的分割槽函式名
all如果指定了all,所有分割槽會對映到file_gruop_name引數指定的檔案組 [
…,n]
定義分配到每個分割槽的檔案組。如果指定了primary,分割槽會儲存於主檔案組中
SqlServer2008例項15高階資料修改技術
目錄 1.使用top分塊修改資料 2.在一條語句中執行insert update和delete use adventureworks go 建立乙個示例刪除表 select into production.example billofmaterials from production.billofm...
SqlServer2008例項19事務 鎖定和併發
隔離性 isolation 是acid中的乙個屬性。事務隔離是指由某個事務作出的修改能被資料庫產生的其他事務看見的程度 例如在資料庫訪問併發的條件下 對於最高端的隔離,每乙個事務產生就好像在同一時間只有 乙個事務存在一樣,它看不到其他事務作出的修改。對於最低階的隔離,任何事務進行的操作,無論是否提交...
SqlServer2008例項28索引預覽
索引是在表上建立的資料庫物件,它可以提供到資料的更快的訪問通道,並且可以使查詢執行更快。索引為sql server提供了更有效地訪問資料的方式。使用索引,你不用總去查詢表中的每個資料頁,檢索特定行時也不用讀取表的所有內容。在預設情況下,常規的未作索引的表中的行不會以任何特定的順序儲存。處於無序狀態的...