设为首页 加入收藏

TOP

oracle直方图(二)
2015-07-24 11:27:18 来源: 作者: 【 】 浏览:16
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不能导入空表解决方案

评论

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

·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)
·SQL CREATE INDEX 语 (2025-12-25 01:21:45)
·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)