今天小編給大家分享的是創(chuàng)建、查看分區(qū)表的Metadata的詳細(xì)介紹,相信大部分人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,話不多說(shuō),一起往下看吧。
網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)服務(wù)團(tuán)隊(duì)是一支充滿著熱情的團(tuán)隊(duì),執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時(shí)竭誠(chéng)為客戶提供服務(wù)是我們的理念。成都創(chuàng)新互聯(lián)公司把每個(gè)網(wǎng)站當(dāng)做一個(gè)產(chǎn)品來(lái)開(kāi)發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!
未分區(qū)的表,只能存儲(chǔ)在一個(gè)FileGroup中;對(duì)table進(jìn)行分區(qū)后,每一個(gè)分區(qū)都存儲(chǔ)在一個(gè)FileGroup中。表分區(qū)是將邏輯上一個(gè)完整的表,按照特定的字段拆分成Partition set,分散到(相同或不同的)FileGroup中,每一個(gè)Partition在FileGroup中都獨(dú)立存儲(chǔ),每一個(gè)parititon都屬于唯一的表對(duì)象,每一個(gè)Partition 都有唯一的ID。
在創(chuàng)建表時(shí),使用On 子句指定table存儲(chǔ)的邏輯位置:
On filegroup | "default" 表示邏輯存儲(chǔ)位置是單一的FileGroup;
ON partition_scheme_name ( partition_column_name ) 表示邏輯存儲(chǔ)位置是多個(gè)FileGroup,按照partition_column_name將table拆分成多個(gè)partition,每一個(gè)partition都存儲(chǔ)在一個(gè)指定的Filegroup中。
CREATE TABLE [schema_name . ] table_name ( <column_definition> )[ ON { partition_scheme_name ( partition_column_name ) | filegroup | "default" } ] [ WITH ( <table_option> [ ,...n ] ) ][ ; ]
Partition的含義就是table的一部分邏輯存儲(chǔ)空間。
跟邏輯存儲(chǔ)空間相對(duì)應(yīng)的是物理存儲(chǔ)空間,物理存儲(chǔ)空間是由File指定的,F(xiàn)ileGroup是File的集合,每一個(gè)File都屬于唯一的FileGroup。將table的存儲(chǔ)空間拆分到不同的FileGroup中,邏輯上是將table的存儲(chǔ)管理體系增加了一層 Partition,介于Table和FileGroup中間,Table的數(shù)據(jù)存儲(chǔ)在Partition,Partition存儲(chǔ)在FileGroup中,F(xiàn)ileGroup管理著File,F(xiàn)ile是實(shí)際存儲(chǔ)data的物理文件。
table為什么要增加Parition?因?yàn)镕ileGroup是所有的Table共享,Partition是由一個(gè)table獨(dú)占,每一個(gè)Partition都唯一屬于一個(gè)table。這樣,對(duì)某個(gè)parititon進(jìn)行操作,而不影響table的其他parition,也不會(huì)影響其他table。
一:創(chuàng)建分區(qū)表的步驟
Step1, 創(chuàng)建分區(qū)函數(shù)
分區(qū)函數(shù)的作用是提供分區(qū)字段的類(lèi)型和分區(qū)的邊界值
CREATE PARTITION FUNCTION [pf_int](int) AS RANGE LEFT FOR VALUES (10, 20)
pf_int 的含義是按照int類(lèi)型分區(qū),分區(qū)的邊界值是10,20,left表示邊界值屬于左邊界。兩個(gè)邊界值能夠分成三個(gè)分區(qū),別是(-infinite,10],(10,20],(20,+infinite)。
Step2,創(chuàng)建分區(qū)scheme
分區(qū)scheme的作用是為Parition分配FileGroup,Partition Scheme和FileGroup在邏輯上等價(jià),都是數(shù)據(jù)存儲(chǔ)的邏輯空間,只不過(guò)Partition Scheme指定的是多個(gè)FileGroup。
CREATE PARTITION SCHEME [ps_int] AS PARTITION [pf_int] TO ([PRIMARY], [db_fg1], [db_fg1])
不管是在不同的FileGroup中,還是在相同的FileGroup中,分區(qū)都是獨(dú)立存儲(chǔ)的。
Step3,創(chuàng)建分區(qū)表
創(chuàng)建分區(qū)表,實(shí)際上是使用on子句指定table存儲(chǔ)的邏輯位置。
create table dbo.dt_test ( ID int, code int)on [ps_int] (id)
二,查看Partition的Metadata
1, 查看partition function
select *from sys.partition_functions
查看partition function定義的邊界值
select * from sys.partition_range_values
查看partition function 定義的parmeter,這個(gè)Parmeter是一個(gè)data type,system_type_id標(biāo)識(shí)該data type。
select *from sys.partition_parameters
根據(jù)system_type_id查看data type
select * from sys.typeswhere system_type_id=56
2, 查看Partition scheme和 filegroup
select *from sys.partition_schemes
data_space_ID 是數(shù)據(jù)空間ID,每一個(gè)Parition Scheme都有一個(gè)ID。
select *from sys.filegroups
data_space_ID 是數(shù)據(jù)空間ID,每一個(gè)FileGroup都有一個(gè)ID。
3, 查看Data Space
select *from sys.data_spaces
Each filegroup has one row, and each partition scheme has one row. If the row refers to a partition scheme, data_space_id can be joined with sys.partition_schemes.data_space_id. If the row referes to a file, data_space_id can be joined with sys.filegroups.data_space_id.
sys.data_spaces 是sys.filegroups 和 sys.partition_schemes 結(jié)果的交集,充分說(shuō)明,partition scheme和filegroup都是數(shù)據(jù)存儲(chǔ)的邏輯空間。
4,partition scheme和filegroup 之間的關(guān)系
一個(gè)partition scheme能夠使用多個(gè)filegroup存儲(chǔ)數(shù)據(jù),同時(shí)一個(gè)filegroup可以被多個(gè)partition scheme使用,partition scheme和filegroup 之間的關(guān)系是many-to-many,sql server使用 sys.destination_data_spaces 提供partition scheme和filegroup 之間的關(guān)系。
select *from sys.destination_data_spaces
partition_scheme_id 是 sys.partition_schemes的data_space_id,標(biāo)識(shí)一個(gè)Partition Scheme。
data_space_id 是 sys.filegroups的data_space_id,標(biāo)識(shí)partition scheme使用的filegroup。
destination_id 是 Partition number。Partition Number是一個(gè)數(shù)字,從1開(kāi)始,標(biāo)識(shí)table的parition的編號(hào)。表的partition number從左向右開(kāi)始編號(hào),最左邊的分區(qū),其partition number 是1。
5,查看分區(qū)的信息
select *from sys.partitionswhere object_id=object_id('dbo.dt_test')
partition_id:每一個(gè)partition都有一個(gè)ID,唯一標(biāo)識(shí)該分區(qū)。
rows:分區(qū)包含的數(shù)據(jù)行數(shù)目
data_compression和data_compression_desc:partition 使用的數(shù)據(jù)壓縮類(lèi)型
6,查看分區(qū)的統(tǒng)計(jì)信息
select *from sys.dm_db_partition_statswhere object_id=object_id('dbo.dt_test')
used_page_count | bigint | Total number of pages used for the partition. Computed as in_row_used_page_count + lob_used_page_count +row_overflow_used_page_count. |
reserved_page_count | bigint | Total number of pages reserved for the partition. Computed as in_row_reserved_page_count + lob_reserved_page_count +row_overflow_reserved_page_count. |
row_count | bigint | The approximate number of rows in the partition. |
sys.dm_db_partition_stats displays information about the space used to store and manage in-row data, LOB data, and row-overflow data for all partitions in a database. One row is displayed per partition.
The counts on which the output is based are cached in memory or stored on disk in various system tables.
In-row data, LOB data, and row-overflow data represent the three allocation units that make up a partition. The sys.allocation_units catalog view can be queried for metadata about each allocation unit in the database.
If a heap or index is not partitioned, it is made up of one partition (with partition number = 1); therefore, only one row is returned for that heap or index. Thesys.partitions catalog view can be queried for metadata about each partition of all the tables and indexes in a database.
The total count for an individual table or an index can be obtained by adding the counts for all relevant partitions.
以上就是創(chuàng)建、查看分區(qū)表的Metadata的方法介紹,詳細(xì)使用情況還得要大家自己使用過(guò)才能知道具體要領(lǐng)。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
標(biāo)題名稱(chēng):創(chuàng)建、查看分區(qū)表的Metadata
瀏覽地址:http://m.rwnh.cn/article46/jcgpeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、電子商務(wù)、App開(kāi)發(fā)、用戶體驗(yàn)、微信小程序、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)