Oracle 12.1.0.2新特性 Approximate Count Distinct
[oracle@PD009 ~]$ grep -i approx_count oracle.strsettings for approx_count_distinct optimizationsqkaGBPushdown: estimated memory without GPD = groupSize (%.2f) * aclsum (%u) = %.2f; estimated memory with GPD = optHllEntry (%u) * # of appro
[oracle@PD009 ~]$ grep -i approx_count oracle.str settings for approx_count_distinct optimizations qkaGBPushdown: estimated memory without GPD = groupSize (%.2f) * aclsum (%u) = %.2f; estimated memory with GPD = optHllEntry (%u) * # of approx_count_distinct (%d) * parallelDegree (%.0f) = %.2f APPROX_COUNT_DISTINCT APPROX_COUNT_DISTINCT APPROX_COUNT_DISTINCT _approx_cnt_distinct_gby_pushdown = choose _approx_cnt_distinct_optimization = 0 alter system flush shared_pool; alter session set events '10053 trace name context forever ,level 1'; select count( distinct prod_id) from sales_history where amount_sold>1; select approx_count_distinct(prod_id) from sales_history where amount_sold>1; oradebug setmypid; oradebug tracefile_name; /s01/diag/rdbms/pdprod/PDPROD/trace/PDPROD_ora_4086.trc sql= select count( distinct prod_id) from sales_history where amount_sold>1 ----- Explain Plan Dump ----- ----- Plan Table ----- ============ Plan Table ============ ---------------------------------------------+-----------------------------------+ | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------+-----------------------------------+ | 0 | SELECT STATEMENT | | | | 4912 | | | 1 | SORT AGGREGATE | | 1 | 13 | | | | 2 | VIEW | VW_DAG_0 | 72 | 936 | 4912 | 00:00:59 | | 3 | HASH GROUP BY | | 72 | 648 | 4912 | 00:00:59 | | 4 | TABLE ACCESS FULL | SALES_HISTORY| 3589K | 32M | 4820 | 00:00:58 | ---------------------------------------------+-----------------------------------+ sql= select approx_count_distinct(prod_id) from sales_history where amount_sold>1 ----- Explain Plan Dump ----- ----- Plan Table ----- ============ Plan Table ============ ----------------------------------------------+-----------------------------------+ | Id | Operation | Name | Rows | Bytes | Cost | Time | ----------------------------------------------+-----------------------------------+ | 0 | SELECT STATEMENT | | | | 4820 | | | 1 | SORT AGGREGATE APPROX | | 1 | 9 | | | | 2 | TABLE ACCESS FULL | SALES_HISTORY| 3589K | 32M | 4820 | 00:00:58 | ----------------------------------------------+-----------------------------------+ Predicate Information:
Related posts:
- Extract SQL Plan from AWR
- 部分行索引使用介绍
- Script:诊断解析等待和高version count
- 【11g新特性】SPM SQL PLAN MANAGEMENT执行计划管理流程图
- Number of distinct values (NDV) & synopsis & Histogram gather speed
- SQL调优:带函数的谓词导致CBO Cardinality计算误差
- 【11g新特性】Cardinality Feedback基数反馈
- 【Oracle CBO优化器】视图合并View Merging技术 _complex_view_merging & _simple_view_merging
- 海量数据插入性能测试
- 查询v$lock缓慢和direct path write temp等待
原文地址:Oracle 12.1.0.2新特性 Approximate Count Distinct, 感谢原作者分享。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

要查詢 Oracle 表空間大小,請遵循以下步驟:確定表空間名稱,方法是運行查詢:SELECT tablespace_name FROM dba_tablespaces;查詢表空間大小,方法是運行查詢:SELECT sum(bytes) AS total_size, sum(bytes_free) AS available_space, sum(bytes) - sum(bytes_free) AS used_space FROM dba_data_files WHERE tablespace_

在 Oracle 中查看實例名的方法有三種:命令行中使用 "sqlplus" 和 "select instance_name from v$instance;" 命令。在 SQL*Plus 中使用 "show instance_name;" 命令。通過操作系統的任務管理器、Oracle Enterprise Manager 或檢查環境變量 (Linux 上的 ORACLE_SID)。

Oracle 視圖加密允許您加密視圖中的數據,從而增強敏感信息安全性。步驟包括:1) 創建主加密密鑰 (MEk);2) 創建加密視圖,指定要加密的視圖和 MEk;3) 授權用戶訪問加密視圖。加密視圖工作原理:當用戶查詢加密視圖時,Oracle 使用 MEk 解密數據,確保只有授權用戶可以訪問可讀數據。

在 Oracle 中獲取時間有以下方法:CURRENT_TIMESTAMP:返回當前系統時間,精確到秒。 SYSTIMESTAMP:比 CURRENT_TIMESTAMP 更準確,精確到納秒。 SYSDATE:返回當前系統日期,不含時間部分。 TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'): 將當前系統日期和時間轉換為特定格式。 EXTRACT:從時間值中提取特定部分,如年份、月份或小時。

Oracle 安裝失敗的卸載方法:關閉 Oracle 服務,刪除 Oracle 程序文件和註冊表項,卸載 Oracle 環境變量,重新啟動計算機。若卸載失敗,可使用 Oracle 通用卸載工具手動卸載。

數據導入方法:1. 使用 SQLLoader 實用程序:準備數據文件、創建控製文件、運行 SQLLoader;2. 使用 IMP/EXP 工具:導出數據、導入數據。提示:1. 大數據集推薦 SQL*Loader;2. 目標表應存在,列定義匹配;3. 導入後需驗證數據完整性。

在 Oracle 中創建用戶需遵循以下步驟:使用 CREATE USER 語句創建新用戶。使用 GRANT 語句授予必要權限。可選:使用 RESOURCE 語句設置配額。配置其他選項,如默認角色和臨時表空間。

Oracle 無效數字錯誤可能由數據類型不匹配、數字溢出、數據轉換錯誤或數據損壞引起。排查步驟包括檢查數據類型、檢測數字溢出、檢查數據轉換、排查數據損壞,並探索其他可能的解決方案,如配置 NLS_NUMERIC_CHARACTERS 參數和啟用數據驗證日誌記錄。
