那些语句使用cardinality feedback

简介: [20140122]那些语句使用cardinality feedback.txt cardinality feedback是11G的新特性,昨天别人问一个问题,在11G下如何知道那些sql语句使用了cardinality feedback。

[20140122]那些语句使用cardinality feedback.txt

cardinality feedback是11G的新特性,昨天别人问一个问题,在11G下如何知道那些sql语句使用了cardinality feedback。
实际上这些信息保存在v$sql_plan或者DBA_HIST_SQL_PLAN的other_xml里面,里面的信息是XML格式的,对这些语句如何写我自、
己从来记不住。

简单一点:
select * from v$sql_plan where other_xml like '%cardinality_feedback%' ;
或者
select * from DBA_HIST_SQL_PLAN where other_xml like '%cardinality_feedback%' ;


google一些文档,看了一些自己写的一篇blog:
http://blog.itpub.net/267265/viewspace-753102/


很容易写:
/* Formatted on 2014/1/22 15:02:15 (QP5 v5.252.13127.32867) */
SELECT p.sql_id,
       EXTRACTVALUE (h.COLUMN_VALUE, '/info') lvl,
       EXTRACTVALUE (h.COLUMN_VALUE, '/info/@type')
  FROM v$sql_plan p,
       TABLE (
          XMLSEQUENCE (EXTRACT (xmltype (p.other_xml), '/other_xml/info'))) h
WHERE     p.other_xml IS NOT NULL
       AND EXTRACTVALUE (h.COLUMN_VALUE, '/info/@type') LIKE
              'cardinality_feedback';

--实际上利用这个脚本也可以查询其他特性。比如dynamic_sampling,12c的this is an adaptive plan等等。

目录
相关文章
|
10月前
|
存储 SQL 关系型数据库
Optimizing Queries with EXPLAIN(用explain来优化查询语句)
Optimizing Queries with EXPLAIN(用explain来优化查询语句)
27 0
1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause
1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause
172 0
1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause
|
存储 关系型数据库 MySQL
使用filesort来满足ORDER BY (Use of filesort to Satisfy ORDER BY )
filesort ORDER BY (Use of filesort to Satisfy ORDER BY ) MySQL
130 0
|
SQL 关系型数据库 MySQL
Accelerating Queries with Group-By and Join By Groupjoin
这篇paper介绍了HyPer中引入的groupjoin算子,针对 join + group by这种query,可以在某些前提条件下,在join的过程中同时完成grouping+agg的计算。 比如用hash table来实现hash join和group by,就可以避免再创建一个hash table,尤其当join的数据量很大,产生的group结果又较少时,可以很好的提升执行效率。
318 0
Accelerating Queries with Group-By and Join By Groupjoin
|
关系型数据库 Oracle