oracle的cardinality feedback
原创
©著作权归作者所有:来自51CTO博客作者aoerqilengbai的原创作品,请联系作者获取转载授权,否则将追究法律责任
这个功能也是对优化器评估不准确的补充,在统计信息不正确的情况下,可以使用动态采样,多列的扩展统计信息来解决,cardinality feedback也可以解决这个问题,sql在第一次执行的时候,执行计划是按照正方式产生,如果对于一个游标cardinality feedback监控的功能开启,那么一些cardinality的估计如果跟实际的有很大差异,在下次执行的时候,就会重新优化,使用正确的统计信息,对于启用该功能的执行计划,在note中可以看到 cardinality feedback used for this statement,也可以在v$sql_shared_cursor视图中的use_feedback_stats列中确定,这个列的解释是“为了使用正确的统计信息去重新优化查询,一个硬解析发生了‘。该功能在下面几个情况下会启用:表上没有统计信息,多个关联或分离的谓词,谓词包含优化器不能正确统计信息的复杂的操作符。对于sql要禁用该功能,可以使用
select /*+ opt_param('_optimizer_use_feedback' 'false') */
上一篇:oracle中的采样数据
下一篇:postgresql中的索引
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Oracle 11gR2 新技术 Cardinality Feedback
有很多地方可以设置定时任务,比如:Windows的计划任务,Linux下的cronta
oracle 数据库 database 执行计划 SQL -
SQLPLUS中的feedback设置
使用SQLPLUS执行SQL时,像SELECT语句通常返回结果可以带有“已返回XX行”这样的提示
Oracle sqlplus feedback SQL 返回结果