如何使用Hash分区优化Oracle分析函数(1)
原理:数据表的hash分区字段与分析函数中的partition by 字段一致的时候,每个分区上的数据可以单独进行运算,互不干涉。所以可以很快的提高Oracle分析函数的运行效率。具体测试步骤
原理:数据表的hash分区字段与分析函数中的partition by 字段一致的时候,每个分区上的数据可以单独进行运算,互不干涉。所以可以很快的提高Oracle分析函数的运行效率。具体测试步骤如下:
第一步:创建一个分区表和普通表,表结构与DBA_OBJECTS一致:
- create table t_partition_hash(
- object_name varchar2(128),
- subobject_name varchar2(30),
- object_id number,
- data_object_id number,
- object_type varchar2(19),
- created date,
- last_ddl_time date,
- timestamp varchar2(19),
- status varchar2(7),
- temporary varchar2(1),
- generated varchar2(1),
- secondary varchar2(1)
- )
- partition by hash(object_type)(
- partition t_hash_p1 tablespace USERS,
- partition t_hash_p2 tablespace USERS,
- partition t_hash_p3 tablespace USERS,
- partition t_hash_p4 tablespace USERS,
- partition t_hash_p5 tablespace USERS,
- partition t_hash_p6 tablespace USERS,
- partition t_hash_p7 tablespace USERS,
- partition t_hash_p8 tablespace USERS
- );
- create table t_big_hash(
- object_name varchar2(128),
- subobject_name varchar2(30),
- object_id number,
- data_object_id number,
- object_type varchar2(19),
- created date,
- last_ddl_time date,
- timestamp varchar2(19),
- status varchar2(7),
- temporary varchar2(1),
- generated varchar2(1),
- secondary varchar2(1)
- );
精彩图集
精彩文章