成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用Hash分區優化Oracle分析函數

數據庫 Oracle
本章就如何使用Hash分區優化Oracle分析函數作簡單描述,知識點包括了:創建一個分區表和普通表,表結構與DBA_OBJECTS一致,從dba_object中把數據插入到兩個表等。

原理:數據表的hash分區字段與分析函數中的partition by 字段一致的時候,每個分區上的數據可以單獨進行運算,互不干涉。所以可以很快的提高Oracle分析函數的運行效率。具體測試步驟如下:

***步:創建一個分區表和普通表,表結構與DBA_OBJECTS一致:

  1. create table t_partition_hash(  
  2. object_name varchar2(128),  
  3. subobject_name varchar2(30),  
  4. object_id number,  
  5. data_object_id number,  
  6. object_type varchar2(19),  
  7. created date,  
  8. last_ddl_time date,  
  9. timestamp varchar2(19),  
  10. status varchar2(7),  
  11. temporary varchar2(1),  
  12. generated varchar2(1),  
  13. secondary varchar2(1)  
  14. )  
  15. partition by hash(object_type)(  
  16. partition t_hash_p1 tablespace USERS,  
  17. partition t_hash_p2 tablespace USERS,  
  18. partition t_hash_p3 tablespace USERS,  
  19. partition t_hash_p4 tablespace USERS,  
  20. partition t_hash_p5 tablespace USERS,  
  21. partition t_hash_p6 tablespace USERS,  
  22. partition t_hash_p7 tablespace USERS,  
  23. partition t_hash_p8 tablespace USERS  
  24. );  
  25. create table t_big_hash(  
  26. object_name varchar2(128),  
  27. subobject_name varchar2(30),  
  28. object_id number,  
  29. data_object_id number,  
  30. object_type varchar2(19),  
  31. created date,  
  32. last_ddl_time date,  
  33. timestamp varchar2(19),  
  34. status varchar2(7),  
  35. temporary varchar2(1),  
  36. generated varchar2(1),  
  37. secondary varchar2(1)  
  38. );  
  39.  

#p#

第二步:準備數據,從dba_object中把數據插入到兩個表。總共插入數據1610880。

  1. insert into t_partition_hash select * from dba_objects;  
  2. insert into t_partition_hash select * from dba_objects;  
  3.  

第三步:本采用RANK函數對兩個表進行查詢。

  1. begin  
  2. insert into t_rank  
  3. select object_id,  
  4. rank() over (partition by object_type order by object_id) r_object_id,  
  5. rank() over (partition by object_type order by subobject_name) r_subobject_name ,  
  6. rank() over (partition by object_type order by created) r_created,  
  7. rank() over (partition by object_type order by last_ddl_time) r_last_ddl_time ,  
  8. rank() over (partition by object_type order by status) r_object_type  
  9. from t_partition_hash;  
  10. end;  
  11.  

使用hash分區表總共執行5次的運行時間分別為:46.156s,33.39s,40.516s 34.875s 38.938s.

  1. begin  
  2. insert into t_rank  
  3. select object_id,  
  4. rank() over (partition by object_type order by object_id) r_object_id,  
  5. rank() over (partition by object_type order by subobject_name) r_subobject_name ,  
  6. rank() over (partition by object_type order by created) r_created,  
  7. rank() over (partition by object_type order by last_ddl_time) r_last_ddl_time ,  
  8. rank() over (partition by object_type order by status) r_object_type  
  9. from t_big_table;  
  10. end;  
  11.  

使用非分區表執行5次的執行時間分別為:141.954s,89.656s,77.906s,98.5s,75.906s.

由此可見采用有效的HASH分區表可以有效提升Oracle分析函數中的執行效率。我相信隨著數據量的增加,將會有更明顯的效果,回頭再測試一個項目中遇到的類似問題。

善用Oracle表空間設計提升數據庫性能

優化數據庫大幅度提高Oracle分析函數的性能

Oracle設置系統參數進行性能優化
 

【編輯推薦】

  1. 修改Oracle存儲過程所需代碼
  2. 對Oracle存儲過程的總結
  3. 實現Oracle存儲過程的實際應用的代碼 
  4. 深入高性能的Oracle動態SQL開發 
  5. Oracle SQL的優化規則解析 
責任編輯:佚名 來源: 陳氏網
相關推薦

2009-05-19 14:34:52

Oraclehash優化

2017-03-09 13:11:48

Oracle分析函數

2009-06-03 10:32:36

Oracle性能優化分區技術

2022-09-11 15:12:04

MySQL數據庫優化器

2009-11-16 13:59:22

Oracle優化

2017-07-19 09:53:42

Oracle分區問題

2021-01-20 08:07:52

oracle分區單表

2017-05-08 17:40:23

Oracle視圖優化案例分析

2010-10-25 17:08:34

oracle聚合函數

2010-10-28 15:38:24

Oracle to_d

2009-03-04 09:06:56

優化sqlOracle

2019-04-24 18:00:57

Linuxsgdisk命令管理分區

2010-04-01 10:55:48

Oracle 數據類型

2009-11-16 17:03:20

Oracle優化CPU

2010-10-25 13:33:10

Oracle over

2010-10-25 11:02:47

Oracle to_c

2023-03-31 17:33:06

Oracle數據庫

2011-06-27 16:26:39

Oracle優化器RBOCBO

2010-04-12 10:53:07

Oracle SQL

2010-04-26 14:32:21

Oracle SQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人国产精品久久久 | 欧美一二三四成人免费视频 | 精品中文字幕一区二区 | 小早川怜子xxxxaⅴ在线 | 玖玖色在线视频 | 91一区二区三区在线观看 | 欧美精品一二三 | 四虎影音 | 365夜爽爽欧美性午夜免费视频 | 欧美在线观看一区 | 欧美视频在线看 | 99久久精品免费看国产小宝寻花 | 久久一| 久久精品免费一区二区 | 精品视频一区二区在线观看 | 日韩免费视频一区二区 | 亚洲精品久久久久国产 | 黄色免费网站在线看 | 成人av观看 | 欧美二区在线 | 亚洲综合99| 国产一区免费 | 青青草一区二区 | 国产精品毛片一区二区三区 | 亚洲乱码一区二区三区在线观看 | 丁香婷婷久久久综合精品国产 | 91电影在线| 毛片a级毛片免费播放100 | 精品亚洲一区二区三区 | 一区二区免费在线观看 | 成人精品一区亚洲午夜久久久 | 国产人成精品一区二区三 | 一区二区三区高清 | 国产91 在线播放 | 久久精品视频9 | 天天操天天干天天曰 | av中文字幕在线观看 | 国产一级片免费视频 | 精品国产第一区二区三区 | www.精品一区 | 欧美一区二区免费 |