パーティションテーブル

SQL Serverパーティションテーブルを作成するには
事前にパーティション関数、パーティション構成を作成する必要がある。


作成例のSQL

/* パーティション関数を作成 */
CREATE PARTITION FUNCTION PT_HOGE(char(8)) AS
  RANGE LEFT FOR VALUES('20200101','20210101');


/* パーティション構成を作成し、関数とファイルグループに関連付け*/
CREATE PARTITION SCHEME PT_SCH_HOGE
  AS PARTITION PT_HOGE
ALL TO ([PRIMARY]) --★今回はテストのためすべてPRIMARYファイルグループに割付
;


/* column_hoge_dateの列にパーティションPT_HOGEを関連付けたテーブルを作成*/
CREATE TABLE tbl_hoge2(
   [column_hoge_date] [char](8) NOT NULL,
   [column_hoge_ID] [char](20) NOT NULL
CONSTRAINT [PK_TBL_HOGE2] PRIMARY KEY CLUSTERED
(
   [column_hoge_date] ASC,
   [column_hoge_ID] ASC
)WITH (

  PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,

  IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,

  ALLOW_PAGE_LOCKS = ON
) ON [PRIMARY],
) ON [PT_SCH_HOGE](column_hoge_date) --★ここでパーティション構成とカラムを指定
;

 

 

テーブルの各データのパーティションがどうなっているかは$partition.パーティション関数で確認できる

SELECT
  $partition.PT_HOGE([column_hoge_date]),--パーティション
  tbl_hoge2.*
FROM  tbl_hoge2

 

 

 

 


動作確認環境:SQL Server 2017