分区技术
深圳gg
这个作者很懒,什么都没留下…
展开
-
Oracle自动扩展分区+模板技术的运用
create table test(id number ,city VARCHAR2(36),create_time DATE)PARTITION BY RANGE(create_time) INTERVAL (NUMTOYMINTERVAL(1,‘YEAR’)) SUBPARTITION BY LIST(city)SUBPARTITION TEMPLATE(SUBPARTITION p_guangzhou VALUES (‘guan原创 2020-07-15 16:14:55 · 429 阅读 · 0 评论 -
Oracle 11g如何实现"三重分区"
有的时候有的场景需要实现三重分区,但Oracle只是提供了两重,怎么办?可以实现一个类似于三重分区的功能:--这个有问题,code为varchar,这里只支持number,datecreate table test( id number, created date, code VARCHAR2(10), power_flag number(1))partitio原创 2017-04-27 17:57:16 · 682 阅读 · 0 评论 -
Oracle 局部前缀索引和局部非前缀索引
局部前缀索引和局部非前缀索引是对于分区表而言的,那到底选择哪种索引呢?先做一个实验:1.制造数据create table TEST_P( OWNER VARCHAR2(30), OBJECT_NAME VARCHAR2(128), SUBOBJECT_NAME VARCHAR2(30), OBJECT_ID NUMBER,原创 2016-01-04 11:24:12 · 4966 阅读 · 0 评论 -
使用Oracle 11g分区自动扩展的功能的一个小问题
Oracle 11g下使用分区自动扩展的功能,非常方便,不过同时也带来一个问题,就是导出、导入之后,建表语句改了,下面来做个实验:SQL> select * from v$version;BANNER------------------------------------------------------------------------------Oracle Databas原创 2015-06-16 16:59:34 · 4529 阅读 · 3 评论 -
Oracle 对分区做调整记得加update global indexes
在对分区做ddl操作时,会使分区全局索引失效,需要加上关键字update global indexes。SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enter原创 2015-03-16 15:46:59 · 11862 阅读 · 0 评论 -
Oracle 11g新特性虚拟列分区
现在有个需求:一个单据表要按照月份来分区,如果是在Oracle 10g上,只能再加一个字段。在Oracle 11g以后就不一样了,可以用虚拟列处理。SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Ora原创 2014-11-11 16:50:34 · 2112 阅读 · 0 评论 -
Oracle 11g新特性系统分区表
在11g中有个新特性是系统的分区表,下面来做个实验:SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2原创 2014-11-11 11:31:42 · 1601 阅读 · 0 评论 -
Oracle 11g下用模板建复合分区
利用模板建复合分区大大的降低了脚本的复杂度,下面来做个试验:--未使用模板的方法建复合分区SQL> drop table test purge;SQL> create table test ( owner VARCHAR2(10), created date, object_name VARCHAR2(10), object_type VARCHA原创 2014-09-04 15:27:04 · 1786 阅读 · 0 评论 -
Oracle 多键值分区测试
分区可以按照两个字段分区,先比较第一个列,如果满足,则忽略第二列,如果第一个不满足,则需要比较第二个列。这种分区的方式有点难以让人理解,建议不要使用。SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Or原创 2014-09-02 18:44:39 · 1336 阅读 · 0 评论 -
Oracle 在线扩展分区
在对分区表操作是,当一个分区已经有了最大的分区,如何再次扩展分区呢?简单的方式是先删除最大分区,然后添加需要的分区,再次建立最大分区,如果对于7*24小时的系统,可能不行。哪有什么办法呢?下面来做个试验:SQL> select * from v$version;BANNER---------------------------------------------------------原创 2014-09-15 16:43:55 · 1707 阅读 · 0 评论 -
Oracle 11g下自动创建分区
11g之前,维护分区需要手工。11g之后使用interval来实现自动扩展分区,非常方便。 根据年 INTERVAL(NUMTOYMINTERVAL(1,'YEAR')) 根据月 INTERVAL(NUMTOYMINTERVAL(1,'MONTH')) 根据天 INTERVAL(NUMTODSINTERVAL(1,'DAY'))原创 2014-05-09 09:52:40 · 6116 阅读 · 0 评论 -
oracle 在线重定义实验-对表进行分区
在线重定义是通过物化视图进行更新,下面我们做一个实验来更了解在线重定义的原理:SQL> alter table test add constraint PK_ID primary key (object_id);表已更改。SQL> create table test_partition ( OWNER VARCHAR2(30), OB原创 2013-08-09 09:08:27 · 1309 阅读 · 0 评论 -
直接路径法和在线重定义分区比较
在对大表进行分区时,有两种方式,一种是直接路径法分区,另一种是在线重定义分区,脚本示例如附录。最近对公司一张600多万的表进行分区,表上有9个索引,索引占的空间比表大。对比了下两种方式的优缺点:a. 用直接路径转换分区(本机测试结果) 只是分区完成耗时2分9秒,共产生5.18M日志。 建索引耗时8分39秒,产生5.5M日志。 总计:耗时10分48秒,产生原创 2013-08-09 09:34:58 · 1227 阅读 · 0 评论 -
ORACLE全局索引、分区索引
create table test7 as select * from dba_objects;create table TEST( OWNER VARCHAR2(30), OBJECT_NAME VARCHAR2(128), SUBOBJECT_NAME VARCHAR2(30), OBJECT_ID NUMBER, DAT原创 2012-12-18 19:03:23 · 3541 阅读 · 0 评论 -
oracle 10g下范围分区扫描的几种方式
oracle 10g下有几种扫描方式,注意最后一种扫描方式,当对分区的列进行计算时,会不走分区,这跟对索引列进行计算会导致无法用索引一样。 --扫描单个分区 PARTITION RANGE SINGLE --连续扫描多个分区 PARTITION RANGE ITERATOR --不连续扫描多个分区 PARTITION RANGE INLIST --扫描全分区 P原创 2014-05-09 08:49:03 · 1336 阅读 · 0 评论