代码之家  ›  专栏  ›  技术社区  ›  Nko

DB2创建表并插入表空间

  •  0
  • Nko  · 技术社区  · 11 年前

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

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

    1 回复  |  直到 11 年前
        1
  •  2
  •   mustaccio Gandalf    11 年前

    我想你说的是一张分区的桌子。其定义如下:

    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),
    ...;