12
返回列表 发新帖
楼主: yourslg

[讨论] oracle复合索引的组织

[复制链接]
论坛徽章:
25
授权会员
日期:2007-08-20 23:44:422011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-02-18 11:42:49管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-01-04 11:49:54咸鸭蛋
日期:2012-02-06 17:15:202012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36
11#
发表于 2009-9-14 14:16 | 只看该作者
原帖由 yourslg 于 2009-9-11 17:10 发表
刚才看见一篇文章说多列索引键值的存放是oracle自己判断存放哪些列值,判断的标准是这个值只需要能区分其左右指针所指向的两个block的值就可以了,若一个列值不能区分则增加一个可以区分的值为止(Oracle官方未对此明确介绍)。

周末回去试验看看结果是咋样。谢谢zergduan  的提示。


对于branch block,oracle只需要区分其指针的值就可以了,这里面有两个含义,1,可能只需要多列中的部分前导列就可以了,2,存储的索引的最后一列可能只需要那一列的前面部分字节。

对于leaf block来说,需要存储每一列的完整的值。

使用道具 举报

回复
论坛徽章:
47
蒙奇·D·路飞
日期:2017-03-27 08:04:23马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11一汽
日期:2013-09-01 20:46:27复活蛋
日期:2013-03-13 07:55:232013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
12#
发表于 2009-9-15 03:21 | 只看该作者
原帖由 yourslg 于 2009-9-11 03:10 发表
刚才看见一篇文章说...


As soon as you say that, you need to tell us the URL or book title (and page number).

Yong Huang

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
13#
发表于 2009-9-15 04:00 | 只看该作者
关注 学习

使用道具 举报

回复
论坛徽章:
0
14#
 楼主| 发表于 2009-9-17 08:40 | 只看该作者
我看的那篇文章地址:http://q.yesky.com/group/review-11028252.html

使用道具 举报

回复
论坛徽章:
27
授权会员
日期:2005-10-30 17:05:33管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36优秀写手
日期:2013-12-18 09:29:13马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
15#
发表于 2009-9-24 15:08 | 只看该作者
原帖由 yourslg 于 2009-9-17 08:40 发表
我看的那篇文章地址:http://q.yesky.com/group/review-11028252.html


这是我以前写的 ,itpub上贴过

http://www.itpub.net/viewthread.php?tid=727474

使用道具 举报

回复
论坛徽章:
47
蒙奇·D·路飞
日期:2017-03-27 08:04:23马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11一汽
日期:2013-09-01 20:46:27复活蛋
日期:2013-03-13 07:55:232013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
16#
发表于 2009-9-25 02:05 | 只看该作者
原帖由 eagle_fan 于 2009-9-24 01:08 发表

这是我以前写的:) ,itpub上贴过

http://www.itpub.net/viewthread.php?tid=727474


Thank you. The URL in message #14 points at a plagiarized article. Plagiarism is a big problem on Chinese web sites. I'm glad we have little or none in this forum.

Richard Foote in his "Oracle B-Tree Index Internals" (http://richardfoote.files.wordpr ... lding-the-truth.pdf) says

"column value [in a branch block] is abbreviated to smallest value that uniquely defines path"

I have a feeling that your conclusion can be expanded to say that if part of the first column is enough to distinguish between two leaf nodes, then the branch block doesn't even need to store the first column fully; it can just store that first part of the column. That is, if the leaf blocks are like

('aaaaa', 'name1')  -- in 1st leaf
('baaaa', 'name1')  -- in 2nd leaf
('caaaa', 'name1')   -- in 3rd leaf

then I'm guessing the branch block above them can just store the first letter of the first column.

Yong Huang

使用道具 举报

回复
论坛徽章:
27
授权会员
日期:2005-10-30 17:05:33管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36优秀写手
日期:2013-12-18 09:29:13马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
17#
发表于 2009-9-25 12:56 | 只看该作者
That's true.

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表