有了数据库分区后,在原来构筑DB2数据库对象的层次关系里发生了一些变化,实例增加了一个物理特性,就是实例所拥有的数据库分区,为了使使用者能够充分利用分区数据库的特性,在数据库和表空间之间增加了一层,——数据库分区组。与之相关的名词包括数据库分区,数据库分区组,分区映射,分区键,下面就详细解释一下:
数据库分区 首先说一下什么是数据库分区,数据库分区是DB2数据库的一部分,由它自己的数据、索引、配置文件和事务日志组成。分区数据库就是具有两个或多个分区的数据库。这样,表就可以位于一个或多个数据库分区中。与每个数据库分区相关联的处理器都用来满足表请求。数据检索和更新请求将自动分解为子请求,并在适当的数据库分区中并行执行。
数据库分区组 数据库分区组是一个或多个数据库分区的集合。想要为数据库创建表时,首先创建用来存储表空间的数据库分区组,然后创建用来存储表的表空间。
可以在数据库中定义一个或多个数据库分区组成的命名子集。您定义的每个子集称为 数据库分区组 。包含多个数据库分区的每个子集称为 多分区数据库分区组 。多分区数据库分区组只能使用属于相同实例的数据库分区定义。
图1 给出了一个含五个分区的数据库示例,在这个示例中:
CREATE TABLE lineitem(l_orderkey DECIMAL(10,0) NOT NULL, l_cpartkey INTEGER, l_suppkey INTEGER, l_linenumber INTEGER, l_quantity DECIMAL(12,2), l_extendedprice DECIMAL(12,2), l_discount DECIMAL(12,2), l_tax DECIMAL(12,2), l_returnflag CHAR(1), l_linestatus CHAR(1), l_shipdate DATE, l_commitdate DATE, l_receiptdate DATE, l_shipinstruct CHAR(25), l_shipmode CHAR(10), l_comment VARCHAR(44)) PARTITION BY RANGE(l_shipdate) (STARTING MINVALUE, STARTING '1/1/2000' ENDING '31/12/2020' EVERY 1 YEAR(按月就是 MONTH), ENDING MAXVALUE)欢迎分享,转载请注明来源:内存溢出
评论列表(0条)