0

我的 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;

我可以通过哪种方式引用不同的表空间,以便根据我要切换的日期字段在正确的表空间中插入数据?

4

1 回答 1

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),
...;
于 2013-10-01T00:18:04.240 回答