豆搜网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > oracle 分区表的维护
侵权投诉

oracle 分区表的维护

oracle 分区表的维护(2009-10-28 16:04:01)转载标签: oraclepartitiontable分区表it 分类: oracle
Oracle的分区技术在某些条件下可以极大的提高查询的性能,所以被广泛采用。
从产品上说,分区技术是Oracle企业版中独立收费的一个组件。

以下是对于分区及本地索引的一个示例。

首先根据字典表创建一个测试分区表:

SQL> connect eygle/eygle
Connected.
SQL> CREATE TABLE dbobjs
2 (OBJECT_ID NUMBER NOT NULL,
3 OBJECT_NAME varchar2(128),
4 CREATED DATE NOT NULL
5 )
6 PARTITION BY RANGE (CREATED)
7 (PARTITION dbobjs_06 VALUES LESS THAN (TO_DATE('01/01/2007', 'DD/MM/YYYY')),
8 PARTITION dbobjs_07 VALUES LESS THAN (TO_DATE('01/01/2008', 'DD/MM/YYYY')));

Table created.

SQL> COL segment_name for a20
SQL> COL PARTITION_NAME for a20
SQL> SELECT segment_name, partition_name, tablespace_name
2 FROM dba_segments
3 WHERE segment_name = 'DBOBJS';

SEGMENT_NAME PARTITION_NAME TABLESPACE_NAME
-------------------- -------------------- ------------------------------
DBOBJS DBOBJS_06 EYGLE
DBOBJS DBOBJS_07 EYGLE


创建一个Local索引,注意这里可以将不同分区的索引指定创建到不同的表空间:

SQL> CREATE INDEX dbobjs_idx ON dbobjs (created) LOCAL
2 (PARTITION dbobjs_06 TABLESPACE users,
3 PARTITION dbobjs_07 TABLESPACE users
4 );

Index created.

这个子句可以进一步调整为类似:

CREATE INDEX dbobjs_idx ON dbobjs (created) LOCAL
(PARTITION dbobjs_06 TABLESPACE users,
PARTITION dbobjs_07 TABLESPACE users
) TABLESPACE users;

通过统一的tablespace子句为索引指定表空间。


SQL> COL segment_name for a20
SQL> COL PARTITION_NAME for a20
SQL> SELECT segment_name, partition_name, tablespace_name
2 FROM dba_segments
3 WHERE segment_name = 'DBOBJS_IDX';

SEGMENT_NAME PARTITION_NAME TABLESPACE_NAME
-------------------- -------------------- ------------------------------
DBOBJS_IDX DBOBJS_06 USERS
DBOBJS_IDX DBOBJS_07 USERS


SQL> insert into dbobjs
2 select object_id,object_name,created
3 from dba_objects where created <to_date('01/01/2008','dd/mm/yyyy') and object_id is not null;

6227 rows created.

SQL> commit;

Commit complete.

SQL> select count(*) from dbobjs partition (DBOBJS_06);

COUNT(*)
----------
6154

SQL> select count(*) from dbobjs partition (dbobjs_07);

COUNT(*)
----------
73


我们可以通过查询来对比一下分区表和非分区表的查询性能差异:

SQL> set autotrace on
SQL> select count(*) from dbobjs where created < to_date('01/01/2008','dd/mm/yyyy');

COUNT(*)
----------
6227


Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=

第1页

热门文档

相关文档

  • ORACLE分区表的概念及操作

    ( 2).表分区的具体作用 Oracle表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序 带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能...

  • oracle分区表操作

    二、Oracle分区优缺点 ? 优点: 增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用; 维护方便:如果表的某个分区出现故障,需要修复数据,只修复该...

  • Oracle分区表详解

    二、Oracle 分区优缺点优点: 优点:增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用; 维护方便:如果表的某个分区出现故障,需要修复数据,只修复该...

  • oracle表分区的几种方法以及维护

    oracle表分区的几种方法以及维护_IT/计算机_专业资料。Oracle中提供了以下几种表分区:范围分区,列表分区,散列分区,复合范围列表分区,复合范围散列分区。...

  • ORACLE-分区表的用法

    ( 2).表分区的具体作用 Oracle表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序 带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能...

  • Oracle分区表应用

    Oracle分区表应用_IT/计算机_专业资料。Oracle分区表介绍,及使用方法...对于本地索引,其索引分区的维护自动进行,就是说你add/drop/split/truncate表的...

  • Oracle 分区表的优点

    ORACLE 表分区表分区的好处和事处理 表分区描述表分区(partition):表分区技术是...(disk) 5 rows processed SQL> 分区表的维护了解了分区表的建立、索引的建立...

  • ORACLE分区表的概念及操作

    此外, 因为在维护分区的时候可能对分区的索引会产生一定 的影响, 可能需要在维护之后重建索引, 相关内容请参考分区表索引部分的文档。 Oracle分区表的使用 ...

  • oracle 分区表完全讲解

    oracle 分区表完全讲解_IT/计算机_专业资料。本文全面介绍oracle 分区表的用法...了改善,使 数据库管理员在相对较小的批处理窗口完成大型数 据库对象的维护工作...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.docsou.com All Rights Reserved.  闽ICP备15022310号-9  闽公网安备 35021102001881号  email
返回顶部