我的DBA在DB2中创建了三个不同的表空间,以便存储相同的表(TABLE_IN_TBS),并打开日期字段。
CREATE LARGE TABLESPACE "TBS_x" IN DATABASE PARTITION GROUP NODO0 PAGESIZE 32768 MANAGED BY DATABASE
USING (FILE 'x.LRG' 1G) ON DBPARTITIONNUMS (0)
EXTENTSIZE 32
PREFETCHSIZE AUTOMATIC
BUFFERPOOL BP32K0
OVERHEAD 12.670000
TRANSFERRATE 0.180000
AUTORESIZE YES
MAXSIZE 30 G
NO FILE SYSTEM CACHING
DROPPED TABLE RECOVERY ON;
然后我有TBS_x,其中将添加预定义范围内的数据,下一个范围的TBS_x + 1等等。
我的问题是:我必须在不同的表空间中创建相同的表TABLE_IN_TBS?使用以下语法?
CREATE TABLE TABLE_IN_TBS
(
SomeColumns....
) TABLESPACE TBS_x;
我可以通过哪种方式引用不同的表空间,以便根据我的日期字段在正确的表空间中插入数据进行切换?
答案 0 :(得分:2)
我认为你在谈论分区表。它的定义如下:
CREATE TABLE TABLE_IN_TBS
(
SomeColumns....
)
PARTITION BY (your_date_column)
(STARTING FROM '2013-09-30' ENDING AT '2013-09-30' IN TABLESPACE TBS_1),
(STARTING FROM '2013-10-01' ENDING AT '2013-10-01' IN TABLESPACE TBS_2),
...;