执行计划之误区,为什么COST很小,SQL却跑得很慢?

2014-11-24 12:15:19 · 作者: · 浏览: 0

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/38321477

2014.7.31就晚20:30 My Oracle Support组猫大师在线分享

+++我给你看个东西。

table name:T1

00400 internal Value : 250207940886347000000000000000000000

ENDPOINT_VALUE ENDPOINT_NUMBER BUCKET_COUNT

Density = (Bucket_total - Buckets_all_popular_value)/

Sel = .00001136 * (87417 - 797)/87417 * (1 - ((250207940888765000000000000000000000 - 250207940886347000000000000000000000)/

(354151154089362000000000000000000000 - 250207940888765000000000000000000000)))

这是:col=val and val2*low_value - high_value

high_value:4435(D5) -- internal value:354151154089362000000000000000000000

00400 internal Value : 250207940886347000000000000000000000

这三个数字是怎么得出来的?

D5在dba_tab_columns里,存成这样的:4435, 其实oracle内部计算用的值是:354151154089362000000000000000000000

与其实, 他在告诉你怎么COST,不如说,他是想告诉你, 怎么研究oracle的算法。

其实就是告诉你, 怎么猜。 里面也有错的。

比如cardinality他都是用ceil()一下, 其实,oracle多数情况下用round

国内顶级SQL优化课程

8月5号启动QTune系列I CBO内部算法--老猫

1. 重要的概念

Join

5. Hash Join and Sort Merge Join

重磅推出后继课程

不要4999,只要¥499

———————————————尖峰最近线上沙龙分享活动录制的视频

Clojure大师分享主题《rac study from scratch 》

Jack分享主题《存储的前世今生和未来----存储的若干关键技术和虚拟化》

Dasight博士分享主题《大数据时代的技术发展和对IT人的挑战》

guoyJoe分享主题《BBED汇报演出 : UPDATE恢复揭密》

Dasight博士分享主题《漫谈大数据》

杜兴分享主题《MySQL 5.6版本特性介绍及如何从MySQL 5.5向MySQL 5.6》

加入VIP即可免费获得以上分享视频,以及今后的分享都会给出,只要10元会员费,如下链接