Oracle 11g收集多列统计信息详解
短信预约 -IT技能 免费直播动态提醒
前言
通常,当我们将SQL语句提交给Oracle数据库时,Oracle会选择一种最优方式来执行,这是通过查询优化器Query Optimizer来实现的。CBO(Cost-Based Optimizer)是Oracle默认使用的查询优化器模式。在CBO中,SQL执行计划的生成,是以一种寻找成本(Cost)最优为目标导向的执行计划探索过程。所谓成本(Cost)就是将CPU和IO消耗整合起来的量化指标,每一个执行计划的成本就是经过优化器内部公式估算出的数字值。
我们在写SQL语句的时候,经常会碰到where子句后面有多个条件的情况,也就是根据多列的条件筛选得到数据。默认情况下,oracle会把多列的选择率(selectivity)相乘从而得到where语句的选择率,这样有可能造成选择率(selectivity)不准确,从而导致优化器做出错误的判断。为了能够让优化器做出准确的判断,从而生成准确的执行计划,oracle在11g数据库中引入了收集多列统计信息。本文通过对测试表的多条件查询,介绍收集多列统计信息的重要性。
一、环境准备
我们在Oracle 11g中进行试验。
SQL>
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
SQL>
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
Oracle 11g收集多列统计信息详解
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
2024-04-02
2024-04-02
2024-04-02
2024-04-02
2024-04-02
ORACLE 收集统计信息
今天网上看到一篇关于收集统计信息的文章,还不错,特转载下来。
2023-06-06
2024-04-02
2024-04-02
2024-04-02
2024-04-02
2024-04-02
2024-04-02
2024-04-02
2024-04-02
2024-04-02
oracle统计信息收集的方法是什么
Oracle数据库中对表的统计信息可以通过以下方法进行收集:自动统计信息收集:Oracle数据库会自动收集表的统计信息,以便优化查询计划。可以通过设置参数 AUTOSTATS_TARGET 来控制自动收集统计信息的目标。手动收集统计信息:可
2024-04-09
2024-04-02
2024-04-02
Oracle Index函数与数据库的统计信息收集
Oracle Index 函数和数据库的统计信息收集是两个不同的概念,但它们之间存在一定的联系。Oracle Index 函数是用来创建索引、管理索引和优化查询性能的功能。索引是一种数据结构,可以加快数据库查询的速度。当数据库表中的数据量
2024-08-15