量化的Oracle世界

Oracle数据库最为复杂的部分是优化器算法,在进行SQL解析的过程中,Oracle将一切都通过数字进行量化,然后评估比对,最后进行选择。在版本更新中,往往这部分的变化最大,但是文档最少,甚至于无。Oracle常常在出现问题的时候告诉用户,这里包含一个新的特性,可以通过某个参数进行开关,Oracle的复杂与强大都在这其中体现。

Oracle在这个级别上的控制已经细致入微,深入骨髓,今天分析的一个案例就又体验了一次。Oracle有一个参数 _optimizer_rownum_pred_based_fkr ,连在一起很复杂,翻译过来就是:优化器在使用ROWNUM谓词进行查询时,是否启用基于选取行数的优化(First K rows).缺省的这个特性是启用的。

在这个参数的作用下,你可能发现,有时候明明一个SQL全表扫描的成本低于索引,但是Oracle仍然选择了索引,这就是这个参数发挥了调节作用。

与此类似的案例很多,Oracle的控制细节可见一斑。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2013-06-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏喵了个咪的博客空间

[喵咪大数据]Hive+Hbase关联

在之前的章节中我们已经一同学习的Hive和HBase相关的知识,但是Hive和HBase都存在各自的问题,Hive实时性不强单条写入数据慢,HBase查询能力差...

4005
来自专栏linjinhe的专栏

隔离级别、SI 和 SSIACID隔离级别Snapshot IsolationSerializable Snapshot Isolation

1144
来自专栏MYSQL轻松学

MySQL 8.0.11 (2018-04-19, General Availability)

仅支持通过使用 in-place 方式从 MySQL 5.7 升级到 MySQL 8.0 升级; 不支持从 MySQL 8.0 降级到 MySQL 5....

742
来自专栏数据和云

深入内核:CBO对于Cost值相同索引的选择

崔华,网名 dbsnake Oracle ACE Director,ACOUG 核心专家 编辑手记:感谢崔华授权我们独家转载其精品文章,也欢迎大家向“Oracl...

3335
来自专栏枕边书

空间索引 - 各数据库空间索引使用报告

空间索引 索引我们都用过,它是一种特殊的存储结构,就像图书馆里书的分类存放策略或是现代化图书馆里的图书查询系统,能帮助我们快速找到自己需要的书。 数据库中,索引...

5036
来自专栏乐沙弥的世界

MyCAT全局表描述及示例

751
来自专栏性能与架构

数据库表设计对性能的影响

很多人看来,数据库Schema设计是一件非常简单的事情,大体按照系统设计时候的相关实体对象对应成一个一个表格就可以了。为了在功能上尽可能容易扩展,根据数据库范式...

3495
来自专栏杨建荣的学习笔记

百倍性能的PL/SQL优化案例(r11笔记第13天)

我相信你是被百倍性能的字样吸引了,不过我所想侧重的是优化的思路,这个比优化技巧更重要,而结果嘛,其实我不希望说成是百倍提升,“”自黑“”一下。 有一个真...

3449
来自专栏文渊之博

如何将生产环境的字段类型从INT修改为BIGINT

介绍 改变数据类型是一个看起来很简单的事情,但是如果表非常大或者有最小停机时间的要求,又该如何处理那?这里我提供一个思路来解决这个问题。 背景 在一个常规SQL...

3418
来自专栏数据和云

YH8:Oracle 12.2 New Online Feature

Andrew 曾在一次演讲中对Oracle 12c 是这样定义的:向敏捷、弹性和云三个方向上变革和演进。12.2的发布让人眼前一亮,很多新特性让我们看到Orac...

2564

扫码关注云+社区