一、分区表简介

  分区表类型:【范围分区】、【列表分区】 【hash分区】    【这些分区的组合分区】

    范围分区:以某一个范围进行分区。eg:时间段划分。

    列表分区:以某一些几个值进行分区。eg:地区分区,省份进行划分。

    hash分区:以hash算法进行分块。可以有效的消除io的竞争。 更多用在组合分区的子分区中。

    组合分区:11g前仅有两种组合分区  (range- *)      eg: 范围 -列表(月份地区),范围- hash 两种组合

         11g后新增四种。(range-range,list-list,list-hash,list-range) 考虑到兼容性等问题尽量使用 范围开头的组合分区。

  

  使用分区表优点:

    减少访问路径,提升性能外

     更方便的批量操作数据,从而维护方便。

    不同的分区映射到磁盘以平衡I/O,改善整个系统性能。

    相比索引来讲:索引的维护开销是相当大的,它要保证他的有序性,他的数据结构如果乱的话、是需要重组的,而分区表化整为零,大大的减小了扫描范围,同样可以起到很高的效率。

二、分区表实战

  范围分区示例

  

 -- 范围分区示例
drop table range_part_tab purge;
--注意,此分区为范围分区 --例子1
create table range_part_tab (id number,deal_date date,area_code number,nbr number,contents varchar2())
partition by range (deal_date)
(
partition p_201301 values less than (TO_DATE('2013-02-01', 'YYYY-MM-DD')),
partition p_201302 values less than (TO_DATE('2013-03-01', 'YYYY-MM-DD')),
partition p_201303 values less than (TO_DATE('2013-04-01', 'YYYY-MM-DD')),
partition p_201304 values less than (TO_DATE('2013-05-01', 'YYYY-MM-DD')),
partition p_201305 values less than (TO_DATE('2013-06-01', 'YYYY-MM-DD')),
partition p_201306 values less than (TO_DATE('2013-07-01', 'YYYY-MM-DD')),
partition p_201307 values less than (TO_DATE('2013-08-01', 'YYYY-MM-DD')),
partition p_201308 values less than (TO_DATE('2013-09-01', 'YYYY-MM-DD')),
partition p_201309 values less than (TO_DATE('2013-10-01', 'YYYY-MM-DD')),
partition p_201310 values less than (TO_DATE('2013-11-01', 'YYYY-MM-DD')),
partition p_201311 values less than (TO_DATE('2013-12-01', 'YYYY-MM-DD')),
partition p_201312 values less than (TO_DATE('2014-01-01', 'YYYY-MM-DD')),
partition p_201401 values less than (TO_DATE('2014-02-01', 'YYYY-MM-DD')),
partition p_201402 values less than (TO_DATE('2014-03-01', 'YYYY-MM-DD')),
partition p_max values less than (maxvalue)
)
; --以下是插入2013年一整年日期随机数和表示福建地区号含义(591到599)的随机数记录,共有10万条,如下:
insert into range_part_tab (id,deal_date,area_code,nbr,contents)
select rownum,
to_date( to_char(sysdate-,'J')+TRUNC(DBMS_RANDOM.VALUE(,)),'J'),
ceil(dbms_random.value(,)),
ceil(dbms_random.value(,)),
rpad('*',,'*')
from dual
connect by rownum <= ;
commit; --以下是插入2014年一整年日期随机数和表示福建地区号含义(591到599)的随机数记录,共有10万条,如下:
insert into range_part_tab (id,deal_date,area_code,nbr,contents)
select rownum,
to_date( to_char(sysdate,'J')+TRUNC(DBMS_RANDOM.VALUE(,)),'J'),
ceil(dbms_random.value(,)),
ceil(dbms_random.value(,)),
rpad('*',,'*')
from dual
connect by rownum <= ;
commit; ---添加一个全局索引、一个局部索引后,后面会提到分区操作对索引的影响。
create index idx_part_id on range_part_tab (id) ;
create index idx_part_nbr on range_part_tab (nbr) local; --统计信息系统一般会自动收集,这只是首次建成表后需要操作一下,以方便测试
exec dbms_stats.gather_table_stats(ownname => 'LJB',tabname => 'RANGE_PART_TAB',estimate_percent => ,method_opt=> 'for all indexed columns',cascade=>TRUE) ; select min(deal_date),max(deal_date) from range_part_tab; --查看每个分区一共保存了多少条数据
select count(*) from range_part_tab partition (p_201301);
select count(*) from range_part_tab partition (p_201302);
select count(*) from range_part_tab partition (p_201303);
select count(*) from range_part_tab partition (p_201304);
select count(*) from range_part_tab partition (p_201305);
select count(*) from range_part_tab partition (p_201306);
select count(*) from range_part_tab partition (p_201307);
select count(*) from range_part_tab partition (p_201308);
select count(*) from range_part_tab partition (p_201309);
select count(*) from range_part_tab partition (p_201310);
select count(*) from range_part_tab partition (p_201311);
select count(*) from range_part_tab partition (p_201312);
select count(*) from range_part_tab partition (p_max);

范围分区sql代码实战,脚本可以直接执行

  列表分区示例

  

 --列表分区示例
drop table list_part_tab purge;
--注意,此分区为列表分区
create table list_part_tab (id number,deal_date date,area_code number,nbr number,contents varchar2(4000))
partition by list (area_code)
(
partition p_591 values (591),
partition p_592 values (592),
partition p_593 values (593),
partition p_594 values (594),
partition p_595 values (595),
partition p_596 values (596),
partition p_597 values (597),
partition p_598 values (598),
partition p_599 values (599),
partition p_other values (DEFAULT)
)
; --以下是插入2013年一整年日期随机数和表示福建地区号含义(591到599)的随机数记录,共有10万条,如下:
insert into list_part_tab (id,deal_date,area_code,nbr,contents)
select rownum,
to_date( to_char(sysdate-365,'J')+TRUNC(DBMS_RANDOM.VALUE(0,365)),'J'),
ceil(dbms_random.value(590,599)),
ceil(dbms_random.value(18900000001,18999999999)),
rpad('*',400,'*')
from dual
connect by rownum <= 100000;
commit; select count(*) from list_part_tab partition(p_591);
select count(*) from list_part_tab partition(p_592);
select count(*) from list_part_tab partition(p_593);
select count(*) from list_part_tab partition(p_594);
select count(*) from list_part_tab partition(p_595);
select count(*) from list_part_tab partition(p_596);
select count(*) from list_part_tab partition(p_597);
select count(*) from list_part_tab partition(p_598);
select count(*) from list_part_tab partition(p_599);
select count(*) from list_part_tab partition(p_other); create index idx_list_part_id on list_part_tab (id) ;
create index idx_list_part_nbr on list_part_tab (nbr) local; --统计信息系统一般会自动收集,这只是首次建成表后需要操作一下,以方便测试
exec dbms_stats.gather_table_stats(ownname => 'LJB',tabname => 'LIST_PART_TAB',estimate_percent => 10,method_opt=> 'for all indexed columns',cascade=>TRUE) ;

列表分区sql脚本

  hash分区示例

 --散列分区示例
drop table hash_part_tab purge;
--注意,此分区HASH分区
create table hash_part_tab (id number,deal_date date,area_code number,nbr number,contents varchar2(4000))
partition by hash (deal_date)
PARTITIONS 12
;
--以下是插入2013年一整年日期随机数和表示福建地区号含义(591到599)的随机数记录,共有10万条,如下:
insert into hash_part_tab(id,deal_date,area_code,nbr,contents)
select rownum,
to_date( to_char(sysdate-365,'J')+TRUNC(DBMS_RANDOM.VALUE(0,365)),'J'),
ceil(dbms_random.value(590,599)),
ceil(dbms_random.value(18900000001,18999999999)),
rpad('*',400,'*')
from dual
connect by rownum <= 100000;
commit; --以下分区名是通过数据字典user_segments的partition_name查出来的,详见后面说明。
---每个分区存放多少数据
select partition_name,
segment_type,
bytes,
'select count(*) from hash_part_tab partition('||partition_name||');'
from user_segments
where segment_name ='HASH_PART_TAB';

hash分区sql脚本实战

  联合字段分区(两种联合起来进行分区)

 -- 范围分区示例
drop table range_part_mult_col_tab purge;
--注意,此分区为联合字段的范围分区 create table range_part_mult_col_tab (id number,deal_date date,area_code number,nbr number,contents varchar2(4000))
partition by range (area_code,deal_date)
(
partition p_591_201301 values less than (591,TO_DATE('2013-02-01', 'YYYY-MM-DD')),
partition p_591_201302 values less than (591,TO_DATE('2013-03-01', 'YYYY-MM-DD')),
partition p_591_201303 values less than (591,TO_DATE('2013-04-01', 'YYYY-MM-DD')),
partition p_591_201304 values less than (591,TO_DATE('2013-05-01', 'YYYY-MM-DD')),
partition p_591_201305 values less than (591,TO_DATE('2013-06-01', 'YYYY-MM-DD')),
partition p_591_201306 values less than (591,TO_DATE('2013-07-01', 'YYYY-MM-DD')),
partition p_591_201307 values less than (591,TO_DATE('2013-08-01', 'YYYY-MM-DD')),
partition p_591_201308 values less than (591,TO_DATE('2013-09-01', 'YYYY-MM-DD')),
partition p_591_201309 values less than (591,TO_DATE('2013-10-01', 'YYYY-MM-DD')),
partition p_591_201310 values less than (591,TO_DATE('2013-11-01', 'YYYY-MM-DD')),
partition p_591_201311 values less than (591,TO_DATE('2013-12-01', 'YYYY-MM-DD')),
partition p_591_201312 values less than (591,TO_DATE('2014-01-01', 'YYYY-MM-DD')),
partition p_591_201401 values less than (591,TO_DATE('2014-02-01', 'YYYY-MM-DD')),
partition p_591_201402 values less than (591,TO_DATE('2014-03-01', 'YYYY-MM-DD')),
partition p_591_max values less than (591,maxvalue),
partition p_592_201301 values less than (592,TO_DATE('2013-02-01', 'YYYY-MM-DD')),
partition p_592_201302 values less than (592,TO_DATE('2013-03-01', 'YYYY-MM-DD')),
partition p_592_201303 values less than (592,TO_DATE('2013-04-01', 'YYYY-MM-DD')),
partition p_592_201304 values less than (592,TO_DATE('2013-05-01', 'YYYY-MM-DD')),
partition p_592_201305 values less than (592,TO_DATE('2013-06-01', 'YYYY-MM-DD')),
partition p_592_201306 values less than (592,TO_DATE('2013-07-01', 'YYYY-MM-DD')),
partition p_592_201307 values less than (592,TO_DATE('2013-08-01', 'YYYY-MM-DD')),
partition p_592_201308 values less than (592,TO_DATE('2013-09-01', 'YYYY-MM-DD')),
partition p_592_201309 values less than (592,TO_DATE('2013-10-01', 'YYYY-MM-DD')),
partition p_592_201310 values less than (592,TO_DATE('2013-11-01', 'YYYY-MM-DD')),
partition p_592_201311 values less than (592,TO_DATE('2013-12-01', 'YYYY-MM-DD')),
partition p_592_201312 values less than (592,TO_DATE('2014-01-01', 'YYYY-MM-DD')),
partition p_592_201401 values less than (592,TO_DATE('2014-02-01', 'YYYY-MM-DD')),
partition p_592_201402 values less than (592,TO_DATE('2014-03-01', 'YYYY-MM-DD')),
partition p_592_max values less than (592,maxvalue),
partition p_593_201301 values less than (593,TO_DATE('2013-02-01', 'YYYY-MM-DD')),
partition p_593_201302 values less than (593,TO_DATE('2013-03-01', 'YYYY-MM-DD')),
partition p_593_201303 values less than (593,TO_DATE('2013-04-01', 'YYYY-MM-DD')),
partition p_593_201304 values less than (593,TO_DATE('2013-05-01', 'YYYY-MM-DD')),
partition p_593_201305 values less than (593,TO_DATE('2013-06-01', 'YYYY-MM-DD')),
partition p_593_201306 values less than (593,TO_DATE('2013-07-01', 'YYYY-MM-DD')),
partition p_593_201307 values less than (593,TO_DATE('2013-08-01', 'YYYY-MM-DD')),
partition p_593_201308 values less than (593,TO_DATE('2013-09-01', 'YYYY-MM-DD')),
partition p_593_201309 values less than (593,TO_DATE('2013-10-01', 'YYYY-MM-DD')),
partition p_593_201310 values less than (593,TO_DATE('2013-11-01', 'YYYY-MM-DD')),
partition p_593_201311 values less than (593,TO_DATE('2013-12-01', 'YYYY-MM-DD')),
partition p_593_201312 values less than (593,TO_DATE('2014-01-01', 'YYYY-MM-DD')),
partition p_593_201401 values less than (593,TO_DATE('2014-02-01', 'YYYY-MM-DD')),
partition p_593_201402 values less than (593,TO_DATE('2014-03-01', 'YYYY-MM-DD')),
partition p_593_max values less than (593,maxvalue)
)
; --以下是插入2013年一整年日期随机数和表示福州,厦门,宁德三地的地区号含义(591到593)的随机数记录,共有10万条,如下:
insert into range_part_mult_col_tab (id,deal_date,area_code,nbr,contents)
select rownum,
to_date( to_char(sysdate-365,'J')+TRUNC(DBMS_RANDOM.VALUE(0,365)),'J'),
ceil(dbms_random.value(591,593)),
ceil(dbms_random.value(18900000001,18999999999)),
rpad('*',400,'*')
from dual
connect by rownum <= 100000;
commit; select count(*) from range_part_mult_col_tab partition (p_591_201301);
select count(*) from range_part_mult_col_tab partition (p_591_201302);
select count(*) from range_part_mult_col_tab partition (p_591_201303);
select count(*) from range_part_mult_col_tab partition (p_591_201304);
select count(*) from range_part_mult_col_tab partition (p_591_201305);
select count(*) from range_part_mult_col_tab partition (p_591_201306);
select count(*) from range_part_mult_col_tab partition (p_591_201307);
select count(*) from range_part_mult_col_tab partition (p_591_201308);
select count(*) from range_part_mult_col_tab partition (p_591_201309);
select count(*) from range_part_mult_col_tab partition (p_591_201310);
select count(*) from range_part_mult_col_tab partition (p_591_201311);
select count(*) from range_part_mult_col_tab partition (p_591_201312);
select count(*) from range_part_mult_col_tab partition (p_591_max);
select count(*) from range_part_mult_col_tab partition (p_592_201301);
select count(*) from range_part_mult_col_tab partition (p_592_201302);
select count(*) from range_part_mult_col_tab partition (p_592_201303);
select count(*) from range_part_mult_col_tab partition (p_592_201304);
select count(*) from range_part_mult_col_tab partition (p_592_201305);
select count(*) from range_part_mult_col_tab partition (p_592_201306);
select count(*) from range_part_mult_col_tab partition (p_592_201307);
select count(*) from range_part_mult_col_tab partition (p_592_201308);
select count(*) from range_part_mult_col_tab partition (p_592_201309);
select count(*) from range_part_mult_col_tab partition (p_592_201310);
select count(*) from range_part_mult_col_tab partition (p_592_201311);
select count(*) from range_part_mult_col_tab partition (p_592_201312);
select count(*) from range_part_mult_col_tab partition (p_592_max);
select count(*) from range_part_mult_col_tab partition (p_593_201301);
select count(*) from range_part_mult_col_tab partition (p_593_201302);
select count(*) from range_part_mult_col_tab partition (p_593_201303);
select count(*) from range_part_mult_col_tab partition (p_593_201304);
select count(*) from range_part_mult_col_tab partition (p_593_201305);
select count(*) from range_part_mult_col_tab partition (p_593_201306);
select count(*) from range_part_mult_col_tab partition (p_593_201307);
select count(*) from range_part_mult_col_tab partition (p_593_201308);
select count(*) from range_part_mult_col_tab partition (p_593_201309);
select count(*) from range_part_mult_col_tab partition (p_593_201310);
select count(*) from range_part_mult_col_tab partition (p_593_201311);
select count(*) from range_part_mult_col_tab partition (p_593_201312);
select count(*) from range_part_mult_col_tab partition (p_593_max); create index idx_part_mul_id on range_part_mult_col_tab (id) ;
create index idx_part_mul_nbr on range_part_mult_col_tab (nbr) local;

联合分区脚本代码

  组合分区

 --组合分区示例
drop table range_list_part_tab purge;
--注意,此分区为范围分区
create table range_list_part_tab (id number,deal_date date,area_code number,nbr number,contents varchar2(4000))
partition by range (deal_date)
subpartition by list (area_code)
subpartition TEMPLATE
(subpartition p_591 values (591),
subpartition p_592 values (592),
subpartition p_593 values (593),
subpartition p_594 values (594),
subpartition p_595 values (595),
subpartition p_596 values (596),
subpartition p_597 values (597),
subpartition p_598 values (598),
subpartition p_599 values (599),
subpartition p_other values (DEFAULT))
( partition p_201301 values less than (TO_DATE('2013-02-01', 'YYYY-MM-DD')),
partition p_201302 values less than (TO_DATE('2013-03-01', 'YYYY-MM-DD')),
partition p_201303 values less than (TO_DATE('2013-04-01', 'YYYY-MM-DD')),
partition p_201304 values less than (TO_DATE('2013-05-01', 'YYYY-MM-DD')),
partition p_201305 values less than (TO_DATE('2013-06-01', 'YYYY-MM-DD')),
partition p_201306 values less than (TO_DATE('2013-07-01', 'YYYY-MM-DD')),
partition p_201307 values less than (TO_DATE('2013-08-01', 'YYYY-MM-DD')),
partition p_201308 values less than (TO_DATE('2013-09-01', 'YYYY-MM-DD')),
partition p_201309 values less than (TO_DATE('2013-10-01', 'YYYY-MM-DD')),
partition p_201310 values less than (TO_DATE('2013-11-01', 'YYYY-MM-DD')),
partition p_201311 values less than (TO_DATE('2013-12-01', 'YYYY-MM-DD')),
partition p_201312 values less than (TO_DATE('2014-01-01', 'YYYY-MM-DD')),
partition p_201401 values less than (TO_DATE('2014-02-01', 'YYYY-MM-DD')),
partition p_201402 values less than (TO_DATE('2014-03-01', 'YYYY-MM-DD')),
partition p_max values less than (maxvalue))
; --以下是插入2013年一整年日期随机数和表示福建地区号含义(591到599)的随机数记录,共有10万条,如下:
insert into range_list_part_tab(id,deal_date,area_code,nbr,contents)
select rownum,
to_date( to_char(sysdate-365,'J')+TRUNC(DBMS_RANDOM.VALUE(0,365)),'J'),
ceil(dbms_random.value(590,599)),
ceil(dbms_random.value(18900000001,18999999999)),
rpad('*',400,'*')
from dual
connect by rownum <= 100000;
commit; select count(*) from range_list_part_tab partition (p_591);
select count(*) from range_list_part_tab partition (p_201302);
select count(*) from range_list_part_tab partition (p_201303);
select count(*) from range_list_part_tab partition (p_201304);
select count(*) from range_list_part_tab partition (p_201305);
select count(*) from range_list_part_tab partition (p_201306);
select count(*) from range_list_part_tab partition (p_201307);
select count(*) from range_list_part_tab partition (p_201308);
select count(*) from range_list_part_tab partition (p_201309);
select count(*) from range_list_part_tab partition (p_201310);
select count(*) from range_list_part_tab partition (p_201311);
select count(*) from range_list_part_tab partition (p_201312);
select count(*) from range_list_part_tab partition (p_max); --注意,模板的形式,子分区名是被自动命名了,系统自动组合在一起,如P_201301_P_591
select count(*) from range_list_part_tab subpartition(P_201301_P_591); create index idx_ran_list_part_id on range_list_part_tab (id) ;
create index idx_ran_list_part_nbr on range_list_part_tab (nbr) local;

组合分区sql脚本示例

三、分区表相关信息的查询脚本

  

  该表是否是分区表,分区表的分区类型是什么,是否有子分区,分区总数有多少

SELECT partitioning_type,  subpartitioning_type,  partition_count  FROM  user_part_tables WHERE  table_name = 'TABLE';

  该分区表在哪一列上建分区,有无多列联合建分区

SELECT
column_name,
object_type,
column_position
FROM
user_part_key_columns
WHERE
NAME = 'TABLE';

  该分区表有多大

select sum(bytes) / 1024 / 1024
from user_segments
where segment_name ='TABLE';

   该分区表各分区分别有多大,各个分区名是什么

select partition_name,
segment_type,
bytes
from user_segments
where segment_name ='TABLE';

  该分区表的统计信息收集情况

select table_name,
partition_name,
last_analyzed,
partition_position,
num_rows
from user_tab_statistics t
where table_name ='TABLE';

  分区表索引相关查该分区表有无索引,分别什么类型,全局索引是否失效,此外还可看统计信息收集情况。--(其中status值为N/A 表示分区索引,分区索引是否失效是在user_ind_partitions中查看)

---RANGE_PART_TAB  第一个范围分区测试脚本中直接执行下面脚本即可有相同的结果

select table_name,
index_name,
last_analyzed,
blevel,
num_rows,
leaf_blocks,
distinct_keys,
status
from user_indexes
where table_name ='RANGE_PART_TAB'; TABLE_NAME INDEX_NAME LAST_ANALYZED BLEVEL NUM_ROWS LEAF_BLOCKS DISTINCT_KEYS STATUS
------------------------------ ---------------------------- -------------- ------ --------- ----------- ------------- --------
RANGE_PART_TAB IDX_PART_NBR 01-12月-13 1 200000 536 199774 N/A
RANGE_PART_TAB IDX_PART_ID 01-12月-13 1 200000 555 100000 VALID --07 该分区表在哪些列上建了索引
select index_name,
column_name,
column_position
from user_ind_columns
where table_name = 'RANGE_PART_TAB'; INDEX_NAME COLUMN_NAME COLUMN_POSITION
---------------------------- -------------------- ---------------
IDX_PART_ID ID 1
IDX_PART_NBR NBR 1 --08 该分区表上的各索引分别有多大。
select segment_name,segment_type,sum(bytes)/1024/1024
from user_segments
where segment_name in
(select index_name
from user_indexes
where table_name ='RANGE_PART_TAB')
group by segment_name,segment_type ; SEGMENT_NAME SEGMENT_TYPE SUM(BYTES)/1024/1024
------------------------------------------ --------------------
IDX_PART_ID INDEX 5
IDX_PART_NBR INDEX PARTITION 5.6875 --09 该分区表的索引段的分配情况
select segment_name
partition_name,
segment_type,
bytes
from user_segments
where segment_name in
(select index_name
from user_indexes
where table_name ='RANGE_PART_TAB'); PARTITION_NAME SEGMENT_TYPE BYTES
---------------------------- -------------------- ----------
IDX_PART_ID INDEX 5242880
IDX_PART_NBR INDEX PARTITION 458752
IDX_PART_NBR INDEX PARTITION 262144
IDX_PART_NBR INDEX PARTITION 262144
IDX_PART_NBR INDEX PARTITION 262144
IDX_PART_NBR INDEX PARTITION 262144
IDX_PART_NBR INDEX PARTITION 262144
IDX_PART_NBR INDEX PARTITION 262144
IDX_PART_NBR INDEX PARTITION 262144
IDX_PART_NBR INDEX PARTITION 262144
IDX_PART_NBR INDEX PARTITION 262144
IDX_PART_NBR INDEX PARTITION 262144
IDX_PART_NBR INDEX PARTITION 262144
IDX_PART_NBR INDEX PARTITION 262144
IDX_PART_NBR INDEX PARTITION 262144
IDX_PART_NBR INDEX PARTITION 2097152 已选择16行。 --10 分区索引相关信息及统计信息、是否失效查看。
select t2.table_name,
t1.index_name,
t1.partition_name,
t1.last_analyzed,
t1.blevel,
t1.num_rows,
t1.leaf_blocks,
t1.status
from user_ind_partitions t1, user_indexes t2
where t1.index_name = t2.index_name
and t2.table_name='RANGE_PART_TAB';
TABLE_NAME INDEX_NAME PARTITION_NAME LAST_ANALYZED BLEVEL NUM_ROWS LEAF_BLOCKS STATUS
-------------------------------------------------------------- ------ --------- ----------- -------
RANGE_PART_TAB IDX_PART_NBR P_201301 01-12月-13 1 16883 45 USABLE
RANGE_PART_TAB IDX_PART_NBR P_201302 01-12月-13 1 7876 21 USABLE
RANGE_PART_TAB IDX_PART_NBR P_201303 01-12月-13 1 8448 23 USABLE
RANGE_PART_TAB IDX_PART_NBR P_201304 01-12月-13 1 8295 22 USABLE
RANGE_PART_TAB IDX_PART_NBR P_201305 01-12月-13 1 8388 23 USABLE
RANGE_PART_TAB IDX_PART_NBR P_201306 01-12月-13 1 8234 22 USABLE
RANGE_PART_TAB IDX_PART_NBR P_201307 01-12月-13 1 8540 23 USABLE
RANGE_PART_TAB IDX_PART_NBR P_201308 01-12月-13 1 8312 22 USABLE
RANGE_PART_TAB IDX_PART_NBR P_201309 01-12月-13 1 8350 23 USABLE
RANGE_PART_TAB IDX_PART_NBR P_201310 01-12月-13 1 8496 23 USABLE
RANGE_PART_TAB IDX_PART_NBR P_201311 01-12月-13 1 8178 22 USABLE
RANGE_PART_TAB IDX_PART_NBR P_201312 01-12月-13 1 8425 23 USABLE
RANGE_PART_TAB IDX_PART_NBR P_201401 01-12月-13 1 8477 23 USABLE
RANGE_PART_TAB IDX_PART_NBR P_201402 01-12月-13 1 7628 21 USABLE
RANGE_PART_TAB IDX_PART_NBR P_MAX 01-12月-13 1 75470 200 USABLE

分区表索引相关脚本示例

oracle 优化 —— 分区表的更多相关文章

  1. Oracle优化的几个简单步骤

    数据库优化的讨论可以说是一个永恒的主题.资深的Oracle优化人员通常会要求提出性能问题的人对数据库做一个statspack,贴出数据库配置等等.还有的人认为要抓出执行最慢的语句来进行优化.但实际情况 ...

  2. 谈谈怎么实现Oracle数据库分区表

    谈谈怎么实现Oracle数据库分区表 数据库的读写分离 SQLSERVER性能监控级别步骤 Oracle索引问题诊断与优化(1)

  3. PostgreSQL 与 Oracle 访问分区表执行计划差异

    熟悉Oracle 的DBA都知道,Oracle 访问分区表时,对于没有提供分区条件的,也就是在无法使用分区剪枝情况下,优化器会根据全局的统计信息制定执行计划,该执行计划针对所有分区适用.在分析利弊之前 ...

  4. ORACLE优化器RBO与CBO介绍总结

    RBO和CBO的基本概念 Oracle数据库中的优化器又叫查询优化器(Query Optimizer).它是SQL分析和执行的优化工具,它负责生成.制定SQL的执行计划.Oracle的优化器有两种,基 ...

  5. Oracle优化总结

    本文主要从大型数据库ORACLE环境四个不同级别的调整分析入手,分析ORACLE的系统结构和工作机理,从九个不同方面较全面地总结了ORACLE数据库的优化调整方案.关键词 ORACLE数据库 环境调整 ...

  6. oracle优化原则(二)

    SQL优化原则 二.SQL语句编写注意问题 www.2cto.com 下面就某些SQL语句的where子句编写中需要注意的问题作详细介绍.在这些where子句中,即使某些列存在索引,但是由于编写了劣质 ...

  7. SDE+ORACLE优化配置

    原文 SDE+ORACLE优化配置 SDE的性能取决于: 首先操作系统的性能:其次是Oracle的性能,再次是SDE的性能. 第一:操作系统,无非是内存.CPU.带宽等. 可以有待提高的地方:第一.硬 ...

  8. Oracle优化器介绍

    Oracle优化器介绍 本文讲述了Oracle优化器的概念.工作原理和使用方法,兼顾了Oracle8i.9i以及最新的10g三个版本.理解本文将有助于您更好的更有效的进行SQL优化工作. RBO优化器 ...

  9. ORACLE 优化

    本文主要从大型数据库ORACLE环境四个不同级别的调整分析入手,分析ORACLE的系统结构和工作机理,从九个不同方面较全面地总结了 ORACLE数据库的优化调整方案. 关键词 ORACLE数据库 环境 ...

随机推荐

  1. ruby on rails 中render的使用

    最近写ror,因为比较菜,很多东西不知道,只能看一点查一点了 render 先上点搜集的常用方式 render :action => "long_goal", :layout ...

  2. 转:测试计划(出处:: 51Testing软件测试网--zfx081)

    测试计划阶段主要处于测试的先期准备阶段,在该阶段中主要是对将要进行的测试工作做一个整体的规划.包括一下内容:   1.测试目的和测试项目简介. 1.1测试目的:××××系统的测试计划有助于实现一下目标 ...

  3. jquery1.9学习笔记 之选择器(基本元素一)

    所有选择器("*") 描述:选择所有元素 注意:大多数情况下,这个选择器极其的慢,尤其是在作用于自身时. 例子: 查找文档中的每个元素.然后追加一个<script>或& ...

  4. WordPress插件制作笔记(一)---First Plugins Demo

    1->add_action  HOOK简单说明: http://codex.wordpress.org/Plugin_API/Action_Reference (参考网址) //在后台页脚位置加 ...

  5. MFC自创建类了解

    CxxxxView 视窗类 所有的按键 等消息都先在这里响应 CxxxxDoc 文档类 CMainFrame 框架类 CxxxxApp 应用程序类 CxxxxView类中的 OnDraw函数 在窗口改 ...

  6. TFS 如何恢复到指定版本

    一. 签出文件,然后获得指定版本. 二. 覆盖本地文件. 三.选择合并冲突. 四. 签入恢复的文件. 五. 解决冲突,选择抛弃服务器版本.

  7. Xamarin.Forms DataGrid

    控件出处 https://components.xamarin.com/ https://components.xamarin.com/gettingstarted/ZumeroDataGrid/tr ...

  8. 【转】你应该知道的 10 个 VirtualBox 技巧与高级特性

    原文网址:http://www.oschina.net/translate/10-virtualbox-tricks-and-advanced-features-you-should-know-abo ...

  9. openstack 手动 部署安装调试

    Virtual Interface creation failed

  10. 日积月累:EditText软键盘的显示和隐藏

    在工作过程中,常常会遇见需要根据自己的需求,控制文本框的键盘显示和隐藏. 通过查阅Android文档,介绍可以通过在清单文件中<activity>元素中添加android:windowSo ...