知识大全 Oracle使用hash分区优化分析函数查询

Posted 函数

篇首语:采得百花成蜜后,为谁辛苦为谁甜。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle使用hash分区优化分析函数查询相关的知识,希望对你有一定的参考价值。

Oracle使用hash分区优化分析函数查询  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在ORACLE中的分析函数都是基于某几个字段划分计算窗口 然后在窗口内进行聚合 排名 等等计算 我想如果我们数据表的hash分区字段与分析函数中的partition by 字段一致的时候 应该可以大大加快分析函数的运行效率 因为每个分区上的数据可以单独进行运算 互不干涉 下面试验来验证我的想法

  第一步 创建一个分区表和普通表 表结构与DBA_OBJECTS一致

  

  

  create table t_partition_hash(object_name varchar ( ) subobject_name varchar ( ) object_id number data_object_id number object_type varchar ( ) created date last_ddl_time date timestamp varchar ( ) status varchar ( ) temporary varchar ( ) generated varchar ( ) secondary varchar ( ))partition by hash(object_type)(partition t_hash_p tablespace USERS partition t_hash_p tablespace USERS partition t_hash_p tablespace USERS partition t_hash_p tablespace USERS partition t_hash_p tablespace USERS partition t_hash_p tablespace USERS partition t_hash_p tablespace USERS partition t_hash_p tablespace USERS);

  create table t_big_hash(object_name varchar ( ) subobject_name varchar ( ) object_id number data_object_id number object_type varchar ( ) created date last_ddl_time date timestamp varchar ( ) status varchar ( ) temporary varchar ( ) generated varchar ( ) secondary varchar ( ));

  第二步 准备数据 从dba_object中把数据插入到两个表 总共插入数据

  

  insert into t_partition_hash select * from dba_objects;

  insert into t_partition_hash select * from dba_objects;

  第三步 本采用RANK函数对两个表进行查询

  

  begininsert into  t_rankselect object_id rank() over (partition by object_type order by object_id)  r_object_id rank() over (partition by object_type order by subobject_name) r_subobject_name rank() over (partition by object_type order by created) r_created rank() over (partition by object_type order by last_ddl_time) r_last_ddl_time rank() over (partition by object_type order by status) r_object_typefrom t_partition_hash;end;

  使用hash分区表总共执行 次的运行时间分别为 s s s s s

  

  begininsert into  t_rankselect object_id rank() over (partition by object_type order by object_id)  r_object_id rank() over (partition by object_type order by subobject_name) r_subobject_name rank() over (partition by object_type order by created) r_created rank() over (partition by object_type order by last_ddl_time) r_last_ddl_time rank() over (partition by object_type order by status) r_object_typefrom t_big_table;end;

  使用非分区表执行 次的执行时间分别为 s s s s s

cha138/Article/program/Oracle/201311/17539

相关参考

知识大全 数据库的查询优化方法分析

  尽量不要使用or使用or会引起全表扫描将大大降低查询效率  alicelike%&abigale&%会使索引不起作用(针对sqlserver)  经过实践验证charindex()

知识大全 数据库的查询优化技术

    数据库系统是管理信息系统的核心基于数据库的联机事务处理(OLTP)以及联机分析处理(OLAP)是银行企业政府等部门最为重要的计算机应用之一从大多数系统的应用实例来看查询操作在各种数据库操作中所

知识大全 jvm性能优化及内存分区

   SomeofthedefaultvaluesforSunJVMsarelistedbelow      

知识大全 Oracle通用函数,分组函数,子查询

Oracle通用函数,分组函数,子查询  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  注意)Or

知识大全 数据库系统优化--业务逻辑设计优化

  【IT技术分析】  当我们优化一个系统时有时发现一种情况就是自己修改SQL索引以及分区是不能解决性能问题的这时你要考虑业务逻辑优化和表设计的重构这两点的确和设计结合的很紧密  业务逻辑优化  结合

知识大全 Oracle树查询及相关函数

Oracle树查询及相关函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracle树查询的

知识大全 JS中产生固定结果函数的优化

JS中产生固定结果函数的优化  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  适用的函数应该要满足

知识大全 Oracle层次查询和with函数的使用示例

Oracle层次查询和with函数的使用示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  开发

知识大全 PHP两种查询函数array / row的区别?

PHP两种查询函数array/row的区别?  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!格式my

知识大全 查询语句(SELECT)的优化

查询语句(SELECT)的优化  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这篇文章是基于In