oracle与db2分区的区别

ORACLEDB2都引入了partition的概念.可是区别仍是至关大的.数据库

ORACLE的分区是表的分区,每张表能够按某一列的值将数据进行组织,索引,和查询.每一个分区能够放在不一样的表空间里,各分区能够单独操做.oracle

DB2的分区是数据库分区,它的每一个分区能够视为一个独立的数据库,有自已的后台进程,内存结构和存储磁盘,分区的数据库的每一个分区上的表空间是一致的,也就是说,一个分区数据库中的表,就好像把数据分区放在不一样的数据库中同样.在分区数据库中建表,如不指定分区键,系统认为表的第一个字段是分区键.url

 

在最新未公开发布的DB2 V9.1中,也支持了表分区的概念,其用法与ORACLE的用法相似.spa

ORACLE的分区表建表语句:orm

CREATE TABLE product_informationblog

( product_id NUMBER(6)索引

, product_name VARCHAR2(50)进程

, product_description VARCHAR2(2000)ip

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

相关文章
相关标签/搜索