介绍
这篇文章给大家分享的是有关甲骨文12 c新特性之怎么检测有用的多列统计信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
<强>一、环境准备强>
首先,我们创建测试表customers_test,基于sh示例用户下的客户表。
完成,select banner 得到v $版本; 横幅 -------------------------------------------------------------------------------- Oracle Database 12 c Enterprise  Edition Release 12.1.0.2.0 作用;64 bit 生产 PL/SQL Release  12.1.0.2.0 作用;生产 CORE 12.1.0.2.0 生产 TNS for Linux: Version 12.1.0.2.0 作用;生产 NLSRTL Version  12.1.0.2.0 作用;生产 完成, 完成conn sh/sh@HOEGH 连接。 完成, 完成,DROP TABLE  customers_test; DROP TABLE  customers_test ,* ERROR at  line 1: ora - 00942: table 或是view does not 存在 完成,CREATE TABLE customers_test  AS SELECT *,得到客户; Table 创建。 完成,select count(*),得到customers_test; ,COUNT (*) ---------- 55500年, 完成
<强>二,收集统计信息强>
完成, 完成,EXEC DBMS_STATS.GATHER_TABLE_STATS(用户,& # 39;customers_test& # 39;); PL/SQL procedure  successfully 完成。 完成
<强>三,开启负载监控
强>
另外打开一个会话,通过sys用户登录,开启负载监控,其中,SEED_COL_USAGE的第三个参数表示监控的时间,单位是秒,300表示5分钟。
完成show 用户 USER is “SYS” 完成,开始 ,DBMS_STATS.SEED_COL_USAGE(空,空,300); 结束;/,2,3,4 PL/SQL procedure  successfully 完成。 完成
<强>四、使用解释计划查询执行计划强>
完成, 完成EXPLAIN PLAN SELECT * 得到customers_test ,WHERE cust_city =, & # 39; Los 洛杉矶# 39; 时间=cust_state_province 害;& # 39;ca # 39; 时间=country_id 害;52790;,2,3,4,5,6, 解释说。 完成, 完成,SELECT PLAN_TABLE_OUTPUT 得到表(DBMS_XPLAN.DISPLAY (& # 39; plan_table& # 39;,, null, & # 39; basic 行# 39;));,2, PLAN_TABLE_OUTPUT -------------------------------------------------------------------------------- Plan hash 值:2112738156 ---------------------------------------------------- | |,Id Operation |, Name | Rows | ---------------------------------------------------- |,0,|,SELECT STATEMENT |,, |, 1 | |,1,|,TABLE ACCESS 全部|,CUSTOMERS_TEST |, 1 | ---------------------------------------------------- 8,rows 选中。 完成
从执行计划来看,查询结果只有1列。我们暂且记下这个结果。
<强>五、查看列使用信息强>
此时,我们可以通过REPORT_COL_USAGE来查看列的使用信息。
我们看的到,甲骨文帮我们检测到了一个有用的列组信息,包括customers_test, cust_city和cust_state_province三列。
完成, 完成SET LONG 100000 完成SET LINES 120 完成,SET PAGES 0 完成,SELECT DBMS_STATS.REPORT_COL_USAGE(用户,& # 39;customers_test& # 39;) ,2,得到双; 传说: …… 时间:EQ Used single 拷贝;table EQuality 谓词 时间:RANGE Used single 拷贝;table RANGE 谓词 时间:LIKE Used single 拷贝;table LIKE 谓词 时间:NULL Used single 拷贝;table is (不),NULL 谓词 EQ_JOIN : Used EQuality 拷贝;JOIN 谓词 时间:NONEQ_JOIN Used NON 拷贝;EQuality JOIN 谓词 时间:FILTER Used single 拷贝;table FILTER 谓词 时间:JOIN Used JOIN 拷贝;谓词 GROUP_BY : Used GROUP 拷贝;BY 表达式 ............................................................................... ############################################################################### COLUMN USAGE  REPORT FOR  SH.CUSTOMERS_TEST ......................................... 1只COUNTRY_ID ,:情商 2只CUST_CITY ,:情商 3只CUST_STATE_PROVINCE ,:情商 4只(CUST_CITY, CUST_STATE_PROVINCE, ,COUNTRY_ID):,过滤器 ############################################################################### 完成甲骨文12 c新特性之怎么检测有用的多列统计信息