- 浏览: 111773 次
- 性别:
- 来自: 北京
文章分类
最新评论
分区表:
当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。
1、表的大小超过2GB。
1、改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。
分区表相关:已经存在的表没有方法可以直接转化为分区表。不过 Oracle 提供了在线重定义表的功能。
分区表类型及操作
范围分区
范围分区将数据基于范围映射到每一个分区
CREATE
TABLE CUSTOMER
(
CUSTOMER_ID NUMBER NOT NULL PRIMARY KEY,
FIRST_NAME VARCHAR2(30) NOT NULL,
LAST_NAME VARCHAR2(30) NOT NULL,
PHONE VARCHAR2(15) NOT NULL,
EMAIL VARCHAR2(80),
STATUS CHAR(1)
)
PARTITION BY RANGE (CUSTOMER_ID)
(
PARTITION CUS_PART1 VALUES LESS THAN (100000) TABLESPACE CUS_TS01,
PARTITION CUS_PART2 VALUES LESS THAN (200000) TABLESPACE CUS_TS02
)
这里的值为表的行
在最高的分区中,MAXVALUE被定义。MAXVALUE代表了一个不确定的值
列表分区
该分区的特点是某列的值只有几个,基于这样的特点我们可以采用列表分区,就是基于列值来化分
CREATE
TABLE PROBLEM_TICKETS
(
PROBLEM_ID NUMBER(7) NOT NULL PRIMARY KEY,
DESCRIPTION VARCHAR2(2000),
CUSTOMER_ID NUMBER(7) NOT NULL,
DATE_ENTERED DATE NOT NULL,
STATUS VARCHAR2(20)
)
PARTITION BY LIST (STATUS)
(
PARTITION PROB_ACTIVE VALUES ('ACTIVE') TABLESPACE PROB_TS01,
PARTITION PROB_INACTIVE VALUES ('INACTIVE') TABLESPACE PROB_TS02
)
散列分区
这类分区是在列值上使用散列算法,以确定将行放入哪个分区中。当列的值没有合适的条件时,建议使用散列分区
CREATE
TABLE HASH_TABLE
(
COL NUMBER(8),
INF VARCHAR2(100)
)
PARTITION BY HASH (COL)
(
PARTITION PART01 TABLESPACE HASH_TS01,
PARTITION PART02 TABLESPACE HASH_TS02,
PARTITION PART03 TABLESPACE HASH_TS03
)
建议分区的数量采用2的n次方,这样可以使得各个分区间数据分布更加均匀
维护分区表
添加分区
ALTER
TABLE SALES ADD PARTITION P3 VALUES LESS THAN(TO_DATE('2003-06-01','YYYY-MM-DD'));
发表评论
-
Google公开Megastore论文——解决NoSQL、SQL融合难题
2011-03-02 14:44 639实际上,作为一个建 ... -
开源数据库Sharding技术
2011-03-02 16:14 685内容摘要:Sharding 不是一个某个特定数据库软件附 ... -
Java 开发 2.0: 使用 Hibernate Shards 进行切分
2011-03-02 16:26 614当关系数据库试图在 ... -
可扩展的分布式数据库架构
2011-03-03 14:44 660本文发表在《程序员 ... -
OLTP系统与DSS系统对比
2011-03-03 15:35 614在进行数据库系统的设计时,一个不可忽视的问题是弄清你所 ... -
Oracle高级复制机制
2011-03-10 15:48 635Oracle高级复制即可支 ... -
Oracle高级复制的同步复制的配置步骤说明
2011-03-10 15:50 808以下的文章主要讲述的是Oracle高级复制的同步复制,如 ... -
linux oracle中文乱码问题解决方法
2011-04-11 15:18 674connect system/oracle9i ... -
ubuntu下安装ocfs2
2011-07-12 14:20 942简介 一个集群文件系统能使运行在集群中所有节点并发的通过 ... -
asm下载地址
2011-07-12 16:50 802asm rpm包下载地址http://www.oracle.c ... -
oracle重要初始参数
2011-09-28 17:15 845OPEN_CURSORS session可以打开的游标最大数, ... -
SQLJ是什么?优点?
2011-10-11 09:56 879SQLJ是一种允许把静态的SQL语句以文本形式嵌入Java程序 ... -
共享池的调整与优化(Shared pool Tuning)
2011-10-11 10:53 711共享池(Shared pool)是SGA中最关键的内存片段,共 ... -
使用DBMS_SHARED_POOL包将PL/SQL大对象保存到Shared Pool
2011-10-11 16:32 703当系统在加载PL/SQL大对象时,有可能遭遇由于SharedP ... -
oracle sga相关
2011-10-12 17:08 813oracle主要影响性能的内存: Shared ... -
oracle内存调整相关
2011-10-14 15:52 866db_cache_size与sga_target关系 db_ ... -
oracle索引分类
2011-10-17 13:31 819B-TREE INDEX,B树索引:在创建索引时他是 ... -
修改oracle redo log的大小
2011-10-17 15:53 10571.查看现在的REDO GRO ... -
本地管理表空间
2011-10-18 13:29 732本地管理表空间的好处: 1:快速,并发空间操作 ... -
Oracle表空间命令
2011-10-19 16:55 770创建立表空间 CREATE TABLESPACE ...
相关推荐
Oracle分区表详解 大家可以参考下 网上找的资料共享一下
导入导出 Oracle 分区表数据
公司内部培训ORACLE分区表使用的文档
oracle分区表总结oracle分区表总结oracle分oracle分区表总结区表总结oracle分区表总结
Oracle 分区表全揭秘 ,非常详细,oracle dba可以看看
oracle 分区表管理oracle 分区表管理oracle 分区表管理oracle 分区表管理oracle 分区表管理
分区表类型介绍+各种类型分区表的创建举例
Oracle分区表的简单说明以及举例说明其用法
ORACLE分区表操作大全 ORACLE分区表操作大全
Hash分区是Oracle实现表分区的三种基本分区方式之一。对于那些无法有效划分分区范围的大表,或者出于某些特殊考虑的设计,需要使用Hash分区,下面介绍使用方法
本文档详细的讲解了在oracle中如何常见分区表以及遇到的几种问题,希望对大家用帮助
oracle分区表详解 ,包括:什么时候需要分区表、及各类型分区的应用实践
unix AIX 环境下 exp 备份 Oracle 分区表实例
1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5.对表分区的维护性操作
详细讲解oracle分区表的各个步骤和命令
深入学习oracle分区表,oracle10g支持三种分区表创建方式,创建分区表可以一定程度上提高你数据库的访问速度,关键要看你业务上频繁查询的关键字段做为分区关键字.
对于oracle分区表分区索引的详细说明。 详细描述了分区表的类型,分区索引的类型 分类 。 删除或truncate 表分区时,什么样的情况索引会失效 需要重建 ,什么时候 对索引 没影响 。
Oracle分区表详细讲解.ppt
oracle 分区表学习及应用示例Create table(创建分区表) create table BILL_MONTHFEE_ZERO ( SERV_ID NUMBER(20) not null, BILLING_CYCLE_MONTH NUMBER(6) not null, DATE_TYPE NUMBER(1), ACC_NBR ...