重庆思庄Oracle、Redhat认证学习论坛

标题: oracle与db2分区的区别 [打印本页]

作者: 郑全    时间: 2014-5-21 11:26
标题: oracle与db2分区的区别

ORACLE和DB2都引入了partition的概念.但是区别还是相当大的.
        ORACLE的分区是表的分区,每张表可以按某一列的值将数据进行组织,索引,和查询.每个分区可以放在不同的表空间里,各分区可以单独操作.
        DB2的分区是数据库分区,它的每个分区可以视为一个独立的数据库,有自已的后台进程,内存结构和存储磁盘,分区的数据库的每个分区上的表空间是一致的,也就是说,一个分区数据库中的表,就好像把数据分区放在不同的数据库中一样.在分区数据库中建表,如不指定分区键,系统认为表的第一个字段是分区键.
       
        在最新未公开发布的DB2 V9.1中,也支持了表分区的概念,其用法与ORACLE的用法类似.

        ORACLE的分区表建表语句:       
                CREATE TABLE product_information
( product_id NUMBER(6)
, product_name VARCHAR2(50)
, product_description VARCHAR2(2000)
, category_id NUMBER(2)
, weight_class NUMBER(1)
, warranty_period INTERVAL YEAR TO MONTH
, supplier_id NUMBER(6)
, product_status VARCHAR2(20)
, list_price NUMBER(8,2)
, min_price NUMBER(8,2)
, catalog_url VARCHAR2(50)
, CONSTRAINT product_status_lov
CHECK (product_status in (’orderable’
,’planned’
,’under development’
,’obsolete’)
) )
PARTITION BY HASH (product_id)
PARTITIONS 5
STORE IN (prod_ts1, prod_ts2, prod_ts3, prod_ts4, prod_ts5);

               
        DB2的分区数据库的建表语句:
                CREATE TABLE DEPT_INFOMATION
(OP_TIME           VARCHAR(140),
  DEPT_NO           VARCHAR(140),
  DEPT_NAME         VARCHAR(140),
  UP_DEPT_NO        VARCHAR(140),
  UP_DEPT_NAME      VARCHAR(140),
  DEPT_FUNC_DEPICT  VARCHAR(140),
  FOUND_TIME        VARCHAR(140),
  DIS_FOUND_TIME    VARCHAR(140),
  COUNTRY           VARCHAR(140),
  EMPL_COUNT        VARCHAR(140)
)
  DATA CAPTURE NONE
  IN TBS_ODS
  INDEX IN TBS_IDX
  PARTITIONING KEY
   (DEPT_NO
   ) USING HASHING
  NOT LOGGED INITIALLY;
       
        DB2 V9.1的建分区表的语句:
                CREATE TABLE sales (year INT, month INT)
        IN tbsp1, tbsp2, tbsp3, tbsp4, tbsp5, tbsp6, tbsp7, tbsp8
        PARTITION BY RANGE(year, month)
        (STARTING FROM (2001, 1) ENDING (2001,3) IN tbsp1,
         ENDING (2001,6) IN tbsp2, ENDING (2001,9)
         IN tbsp3, ENDING (2001,12) IN tbsp4,
         ENDING (2002,3) IN tbsp5, ENDING (2002,6)
         IN tbsp6, ENDING (2002,9) IN tbsp7,
         ENDING (2002,12) IN tbsp8)






欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2