Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

84

积分

1

好友

27

主题
1#
发表于 2013-6-25 10:45:26 | 查看: 3910| 回复: 6
  本人菜鸟,看到大神这本书的第127页时:这样,oracle 相当于会对SDATKT执行一个隐式的to_number转换... 这段不理解,解释也太粗略了,还有应该是隐式to_char转换吧,质疑了大神,求解
  为什么这种情况会产生 顺序扫描大量的叶子节点?
版权声明:本人已经购买此书。图片来自互联网

1.jpg (89.63 KB, 下载次数: 426)

1

1

2.jpg (84.56 KB, 下载次数: 424)

2

2

3.jpg (78.5 KB, 下载次数: 422)

3

3

2#
发表于 2013-6-25 11:12:45
此大神,非彼大神
冤有头债有主,找错门啦 ,哈哈

回复 只看该作者 道具 举报

3#
发表于 2013-6-25 11:17:42
不是我写的,  要讨论的话 把全文 以文本形式贴出来

回复 只看该作者 道具 举报

4#
发表于 2013-6-25 11:23:26
the image is too small

回复 只看该作者 道具 举报

5#
发表于 2013-6-25 15:53:38
简单来说:
作者的意思是:一个表有一个PK
idx_01(a,b,c)
查询条件为
where a=:1 and b=:2 and c=:3
此时:3的变量是number类型的,但c这个字段是varchar2类型。这时发生隐式转换。
oracle要扫描索引中所有符合条件的a,b的值,然后再把相应的c的值进行隐式转换后,再筛选出数据。




回复 只看该作者 道具 举报

6#
发表于 2013-6-25 18:58:21
dla001 发表于 2013-6-25 15:53
简单来说:
作者的意思是:一个表有一个PK
idx_01(a,b,c)

谢谢,明白了。本来是没有必要再去扫描c的值,结果给全部扫描了一遍?相当于把C这个字段上所有的值都转换了一遍?

回复 只看该作者 道具 举报

7#
发表于 2013-6-26 09:45:04
ShineCQY 发表于 2013-6-25 18:58
谢谢,明白了。本来是没有必要再去扫描c的值,结果给全部扫描了一遍?相当于把C这个字段上所有的值都转换 ...

是把a=:1 and b=:2 所对应的c的值都扫描了一遍,转换,筛选。

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-29 16:05 , Processed in 0.050132 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569