量化的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 条评论
登录 后参与评论

相关文章

来自专栏Linyb极客之路

mysql数据库开发常见问题及优化

mysql 数据库是被广泛应用的关系型数据库,其体积小、支持多处理器、开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高。在使用 mysql ...

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

shell脚本自动化采集性能sql(r2笔记39天)

通过v$sql_monitor能够实时采集可能存在的sql性能问题,但是每次问题发生的时候采取采取措施就有点“晚”了,我们需要防患于未然,把一些潜在问题提前发现...

2264
来自专栏程序猿

小米开源soar一款对SQL进行优化和改写的自动化工具

SOAR(SQL Optimizer And Rewriter)是一个对SQL进行优化和改写的自动化工具。 由小米人工智能与云平台的数据库团队开...

611
来自专栏数据库

不得不看,只有专家才知道的17个SQL查询提速秘诀!

“ 除非你遵循本文介绍的这些技巧,否则很容易编写出减慢查询速度或锁死数据库的数据库代码。 ? 由于数据库领域仍相对不成熟,每个平台上的 SQL 开发人员都在苦苦...

1916
来自专栏数据和云

性能优化:监控索引的使用情况

黄玮(Fuyuncat),资深 Oracle DBA,从事 Oracle 数据库管理、维护与开发工作十余年,有丰富的大型数据库设计、开发与维护方面的经验,博客w...

3446
来自专栏企鹅号快讯

Django数据从sqlite迁移数据到MySQL

昨天快速搭建了一套自己的知识库 感觉一下子有了很多的事情要做,至少得让自己用得舒服些。 没想到有了这个小工具之后,我发现我之前过得真是刀耕火种的信息收集。为什么...

4026
来自专栏简书专栏

mysql必知必会

数据库是按照数据结构来组织、存储和管理数据的仓库,它产生于距今。 六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管...

671
来自专栏Spark学习技巧

mysql数据库开发常见问题及优化

原文:https://mp.weixin.qq.com/s/SURmi4cGBjfEfn7JsrZZLA

1055
来自专栏数据和云

新书连载:深入剖析dump block对数据库的影响

编辑说明:《Oracle性能优化与诊断案例精选》出版以来,收到很多读者的来信和评论,我们会通过连载的形式将书中内容公布出来,希望书中内容能够帮助到更多的读者朋友...

3025
来自专栏小俊博客

纯代码实现WordPress邀请码功能

2345

扫码关注云+社区