设为首页 加入收藏

TOP

oracle直方图(二)
2015-07-24 11:27:18 来源: 作者: 【 】 浏览:21
Tags:oracle 方图
输入 table_name 的值: a 输入 columns 的值: object_type --做object_type字段的直方图 PL/SQL 过程已成功完成。 SQL> explain plan for select count(*) from a where object_type='INDEX'; 已解释。 SQL> @getplan 'general,outline,starts' Enter value for plan type:general PLAN_TABLE_OUTPUT --------------------------------------------------------------------------------------------------------------------------------------- Plan hash value: 2223038180 --------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | --------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 7 | 25 (0)| 00:00:01 | | 1 | SORT AGGREGATE | | 1 | 7 | | | |* 2 | TABLE ACCESS FULL| A | 946 | 6622 | 25 (0)| 00:00:01 | --这里返回的是真实的行数,做object_type字段的直方图后,执行计划非常准。 --------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - filter("OBJECT_TYPE"='INDEX') SQL> SQL> SQL> SQL> SQL> @getcolstat 输入 owner 的值: ggs 输入 table_name 的值: a COLUMN_NAME NUM_ROWS CARDINALITY SELECTIVITY HISTOGRAM NUM_BUCKETS LAST_ANALYZED ---------------- ---------- ----------- ----------- --------- ----------- -------------- SECONDARY 10000 1 .01 NONE 1 28-7月 -14 GENERATED 10000 2 .02 NONE 1 28-7月 -14 TEMPORARY 10000 2 .02 NONE 1 28-7月 -14 STATUS 10000 1 .01 NONE 1 28-7月 -14 TIMESTAMP 10000 350 3.5 NONE 1 28-7月 -14 LAST_DDL_TIME 10000 385 3.85 NONE 1 28-7月 -14 CREATED 10000 303 3.03 NONE 1 28-7月 -14 OBJECT_TYPE 10000 34 .34 FREQUENCY 34 28-7月 -14 --刚好等于distinct值 DATA_OBJECT_ID 10000 1836 18.36 NONE 1 28-7月 -14 OBJECT_ID 10000 10000 100 NONE 1 28-7月 -14 SUBOBJECT_NAME 10000 27 .27 NONE 1 28-7月 -14 OBJECT_NAME 10000 7725 77.25 NONE 1 28-7月 -14 OWNER 10000 9 .09 NONE 1 28-7月 -14 已选择13行。 SQL> select count(distinct object_name) from a; --总共才10000行,可以看出object_name的选择性是比较高的 COUNT(DISTINCTOBJECT_NAME) -------------------------- 7725 已选择 1 行。 SQL> @anatab_col 输入 owner 的值: ggs 输入 table_name 的值: a 输入 columns 的值: object_name PL/SQL 过程已成功完成。 SQL> @getcolstat 输入 owner 的值: ggs 输入 table_name 的值: a COLUMN_NAME NUM_ROWS CARDINALITY SELECTIVITY HISTOGRAM NUM_BUCKETS LAST_ANALYZED ---------------- ---------- ----------- ----------- --------------- ----------- -------------- SECONDARY 10000 1 .01 NONE 1 28-7月 -14 GENERATED 10000 2 .02 NONE 1 28-7月 -14 TEMPORARY 10000 2 .02 NONE 1 28-7月 -14 STATUS 10000 1 .01 NONE 1 28-7月 -14 TIMESTAMP 10000 350 3.5 NONE 1 28-7月 -14 LAST_DDL_TIME 10000 385 3.85 NONE 1 28-7月 -14 CREATED 10000 303 3.03 NONE 1 28-7月 -14 OBJECT_TYPE 10000 34 .34 FREQUENCY 34 28-7月 -14 DATA_OBJECT_ID 10000 1836 18.36 NONE 1 28-7月 -14 OBJECT_ID 10000 10000 100 NONE 1 28-7月 -14 SUBOBJECT_NAME 10000 27 .27 NONE 1 28-7月 -14 OBJECT_NAME 10000 7725 77.25 HEIGHT BALANCED 75 28-7月 -14 OWNER 10000 9 .09 NONE 1 28-7月 -14 已选择13行。 SQL> select count(*) from a where object_name like '%A%'; COUNT(*) ---------- 6404 已选择 1 行。 SQL> explain plan for select count(*) from a where object_name like '%A%'; 已解释。 SQL> @getplan 'general,outline,starts' Enter value for plan type:general PLAN_TABLE_OUTPUT ----------------------------------------------
首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇High Waits on 'Db File Sequ.. 下一篇Oracle不能导入空表解决方案

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·JAVA现在的就业环境 (2025-12-26 01:19:24)
·最好的java反编译工 (2025-12-26 01:19:21)
·预测一下2025年Java (2025-12-26 01:19:19)
·Libevent C++ 高并发 (2025-12-26 00:49:30)
·C++ dll 设计接口时 (2025-12-26 00:49:28)