分区表规划设计.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分区表规划设计

分区表规划设计: 概述:随着数据库存储的数据量越来越大,数据库单表中的数据量也越大。为了提高对大数据量表的查询速度及维护性能,可将一个表分成多个分区;可以将不同的分区存储在不同的磁盘上,以提高访问性能和安全性。 范围分区 将行映射到基于列值范围的分区,可以考虑使用范围分区方法。数据最好在整个范围中能均等地划分,如果范围的分区由于不均等的划分而导致分区在大小上明显差异,就需要考虑使用其他的分区方法了。 --范围分区: CREATE TABLE Sales( Product_ID varchar2 (5), Sales_Cost number (10)) PARTITION BY RANGE (Sales_Cost)( PARTITION P1 VALUES LESS THAN (1000), PARTITION P2 VALUES LESS THAN (2000), PARTITION P3 VALUES LESS THAN (3000)); CREATE TABLE SALES2 ( PRODUCT_ID VARCHAR2(5), SALES_DATE DATE NOT NULL, SALES_COST NUMBER(10)) PARTITION BY RANGE (SALES_DATE)( PARTITION P1 VALUES LESS THAN (DATE 2010-01-01), PARTITION P2 VALUES LESS THAN (DATE 2011-01-01), PARTITION P3 VALUES LESS THAN (MAXVALUE)); 散列分区 如果分区不适合使用范围分区的方法,但为了性能和管理的原因又需要分区时,可以考虑使用散列分区的方法。散列分区在指定数据的分区中均等地划分数据。基于分区键的散列值将行映射到分区中。会提供灵活放置数据的方法。Oracle使用哈希函数在分区键的指定列上查找值。 --散列分区 CREATE TABLE EMPLOYEE( EMP_ID NUMBER(4), EMP_NAME VARCHAR2(14), EMP_ADDRESS VARCHAR2(15), DEPARTMENT VARCHAR2(10)) PARTITION BY HASH (DEPARTMENT) PARTITIONS 4 STORE IN (USERS,BIGTBS);分区数量大于表空间,会循环使用表空间; CREATE TABLE Employee1( Employee_ID varchar2 (5), Employee_Name varchar2(20), Department varchar2 (10)) PARTITION BY HASH (Department)( Partition D1 TABLESPACE USERS, Partition D2 TABLESPACE USER1, Partition D3 TABLESPACE BIGTBS); 列表分区 当需要明确控制将行映射到分区时,可以开始使用列表分区方法。可以在每个分区的描述中为该分区列指定一列离散值。这不同于范围分区,范围分区中一个范围于一个分区相关。列表分区也不同于散列分区,列表分区可以控制将行映射到指定的分区中,而散列分区是不能控制的。 --列表分区 CREATE TABLE student( student_ID number (4), student_Name varchar2 (14), grade varchar2 (15)) PARTITION BY LIST (grade)( Partition p1 values (一年级,二年级,三年级,四年级,五年级,六年级) tablespace users, Partition p2 values (初一,初二,初三) tablespace user1, Partition p3 values (高一,高二,高三) tablespace bigtbs); CREATE TABLE student1( student_ID number (4), student_Name varchar2 (14), grade varchar2 (15)) PARTITION BY LIST (grade)( Partition p1 values (初一,初二,初三) tablespace user1, Partition p2 values (高一,高二,高三

文档评论(0)

xjj2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档