10.2版本中hash group by一些爭議
10.2中對group by 引入了hash group by替代了sort group by,針對這個新特
性,談談個人的看法:
1、在oracle的白皮書中,推薦使用hash group by,並闡述了效能的優越性,具體
參見:
http://www.oracle.com/technetwork/database/features/bi-datawarehousing/twp-dss-performance-10gr2-0705-128049.pdf
其工作機制如下:基於group by的列建立hash 表,然後基於該hash表找出對應的
記錄。並給出了效能提高130%
2、但在實際是否使用中,分歧比較大,目前國外的很多DBA在生產庫中關閉了該功
能,因為其目前使用中bug非常多,而且所影響的資料庫版本包含了生產庫中常用
的10.2.0.4,從metelink中"hash group by bug"檢索出來的bug就達到317篇文件。
3、但資料庫專家們不建議關閉,認為這個東西本身是好的,出現了bug,不是簡單
的遮蔽,而是找出相應補丁進行解決。
從以上可以看出,其爭論點類似於早期9i版本的ASSM和MSSM爭論,個人認
為:
1、在新上系統,並有開發和測試環境中,經過充分測試包含group by語句,可以開
放使用;
2、但對於資料庫的升級系統,比如從9i升級到10.2版本,暫時將該功能關閉,具體
關閉有兩種方式:
引數中設定”_gby_hash_aggregation_enabled"=false
或
在session中加no_use_hash_aggregation提示
相關研究文章:
http://orainternals.wordpress.com/2010/09/30/group-by-hash-aggregation/
http://jonathanlewis.wordpress.com/2008/12/21/group-by/#comment-38013
性,談談個人的看法:
1、在oracle的白皮書中,推薦使用hash group by,並闡述了效能的優越性,具體
參見:
http://www.oracle.com/technetwork/database/features/bi-datawarehousing/twp-dss-performance-10gr2-0705-128049.pdf
其工作機制如下:基於group by的列建立hash 表,然後基於該hash表找出對應的
記錄。並給出了效能提高130%
2、但在實際是否使用中,分歧比較大,目前國外的很多DBA在生產庫中關閉了該功
能,因為其目前使用中bug非常多,而且所影響的資料庫版本包含了生產庫中常用
的10.2.0.4,從metelink中"hash group by bug"檢索出來的bug就達到317篇文件。
3、但資料庫專家們不建議關閉,認為這個東西本身是好的,出現了bug,不是簡單
的遮蔽,而是找出相應補丁進行解決。
從以上可以看出,其爭論點類似於早期9i版本的ASSM和MSSM爭論,個人認
為:
1、在新上系統,並有開發和測試環境中,經過充分測試包含group by語句,可以開
放使用;
2、但對於資料庫的升級系統,比如從9i升級到10.2版本,暫時將該功能關閉,具體
關閉有兩種方式:
引數中設定”_gby_hash_aggregation_enabled"=false
或
在session中加no_use_hash_aggregation提示
相關研究文章:
http://orainternals.wordpress.com/2010/09/30/group-by-hash-aggregation/
http://jonathanlewis.wordpress.com/2008/12/21/group-by/#comment-38013
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/354732/viewspace-687434/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle Hash Group ByOracle
- 資料庫的sort group by和hash group by資料庫
- 太陽分享:一些關於Python語言的爭議Python
- java裡的一些hash方法Java
- Oracle中group by用法Oracle
- NTLM協議與Pass the Hash的愛情協議
- Python中hash加密Python加密
- GCD 中Group的使用GC
- SQL中Group By的使用SQL
- MASM中Group的作用ASM
- 網頁設計中的5 個最具爭議性的話題網頁
- DeFi 協議中普遍存在的一些博弈模型協議模型
- Data Guard中快速Switchover,Failover的一些建議AI
- 關於COM中智慧指標的一些建議. (轉)指標
- iOS中的isEqual和hashiOS
- oracle中Window和Window GroupOracle
- group by中cube含義解析
- .NET 記憶體洩漏的爭議記憶體
- 爬蟲程式實現過程中的一些建議爬蟲
- PHP專案中CodeIgniter使用的一些建議PHP
- 強一致性hash實現java版本及強一致性hash原理Java
- Oracle中的Hash Join祥解Oracle
- Oracle中的Hash Join詳解Oracle
- Xcode10.2中LLDB增加的新特性XCodeLLDB
- 關於Mysql5.7高版本group by新特性報錯MySql
- 查詢中的distinct與group by
- 那些有爭議的程式設計觀點程式設計
- 那些最有爭議的程式設計觀點程式設計
- 那些爭議最大的程式設計觀點程式設計
- 會議中拍攝領導需要注意一些什麼?
- Xcode 10.2XCode
- 10.2 總結
- 10.2部落格
- 一致性hash演算法的一些理解演算法
- SpreadJS 全面支援 Angular2,V10.2 版本即將釋出JSAngular
- 10.2版本以上對db_file_multiblock_read_count變化分析BloC
- Mac OS X 10.2 在Photoshop中輸入中文(轉)Mac
- 俄羅斯政府解決加密貨幣草案爭議加密