@H_502_2@
举个栗子:@H_502_2@
create table t(c1 number,c2 number)@H_502_2@
partition by range(c1)(@H_502_2@
partition w10 values less than(100000),@H_502_2@
partition w20 values less than(200000),@H_502_2@
partition w30 values less than(300000),@H_502_2@
partition w40 values less than(400000)@H_502_2@
)@H_502_2@
@H_502_2@
查询 SELECT * FROM T PARTITION(w10);@H_502_2@
SELECT * FROM T PARTITION(w20);@H_502_2@
同级只能存在一种分区。@H_502_2@
可以@H_502_2@
partition by range()@H_502_2@
subpartition by value()@H_502_2@
@H_502_2@
1、类型说明:range分区方式/@H_502_2@
List分区方式/@H_502_2@
Hash分区方式@H_502_2@
@H_502_2@
2、分区应用:@H_502_2@
一般一张表超过2G的大小,ORACLE是推荐使用分区表的,一个分区一般保证四十多万条数据就比较正常了@H_502_2@
@H_502_2@
3、常用视图:@H_502_2@
SELECT * FROM USER_PART_TABLES;@H_502_2@
@H_502_2@
SELECT * FROM USER_PART_INDEXES;@H_502_2@
@H_502_2@
4、维护操作:@H_502_2@
ALTER TABLE TABLE_PARTITION DROP PARTITION TAB_PARTOTION_03;@H_502_2@
如果是全局索引,因为全局索引的分区结构和表可以不一致,若不一致的情况下,会导致整个全局索引失效,在删除分区的时候,语句修改为:@H_502_2@
ALTER TABLE TABLE_PARTITION DROP PARTITION TAB_PARTOTION_03 UPDATE GLOBAL INDEXES;@H_502_2@
@H_502_2@
分区合并@H_502_2@
@H_502_2@
分隔分区@H_502_2@
@H_502_2@
@H_502_2@
交换分区@H_502_2@
@H_502_2@
清空分区数据@H_502_2@
ALTER TABLE <table_name> TRUNCATE PARTITION <partition_name>;@H_502_2@
ALTER TABLE <table_name> TRUNCATE subpartition <subpartition_name>;@H_502_2@
@H_502_2@
磁盘碎片压缩@H_502_2@
ALTER TABLE <table_name> ENABLE ROW MOVEMENT;@H_502_2@
@H_502_2@
@H_502_2@
update 分区字段时 ora-14402错误@H_502_2@
ORA-14402: 更新分区关键字列将导致分区的更改@H_502_2@
@H_502_2@
修改:alter table TD_DAT_YWFZ_XXXXXXXX_O_M enable row movement;@H_502_2@
再update 表 OK@H_502_2@