楼主: nyfor

烦请解释一下“驱动表”的概念

[复制链接]
论坛徽章:
18
生肖徽章:鼠
日期:2006-09-07 17:01:082008新春纪念徽章
日期:2008-02-13 12:43:03生肖徽章:蛇
日期:2007-09-26 17:09:49生肖徽章:猪
日期:2007-09-26 17:09:04生肖徽章:马
日期:2007-09-26 17:03:24生肖徽章:龙
日期:2007-09-26 17:02:43生肖徽章:兔
日期:2007-09-26 17:02:19生肖徽章:羊
日期:2007-09-26 12:35:44生肖徽章:虎
日期:2007-09-18 15:23:56生肖徽章:狗
日期:2007-07-02 11:26:12
31#
发表于 2007-10-27 12:36 | 只看该作者
论坛的人都喜欢翻老贴啊~~

使用道具 举报

回复
招聘 : 数据库开发
论坛徽章:
29
秀才
日期:2015-12-14 14:47:54秀才
日期:2015-11-12 17:43:40秀才
日期:2015-11-11 10:22:49秀才
日期:2015-11-11 09:58:34秀才
日期:2015-10-26 09:24:12秀才
日期:2015-09-21 11:16:42秀才
日期:2015-12-14 14:51:16秀才
日期:2015-12-14 14:56:09秀才
日期:2015-11-23 09:48:22ITPUB14周年纪念章
日期:2015-10-26 17:23:44
32#
发表于 2007-10-27 16:31 | 只看该作者
CBO优化不存在驱动表的概念了,驱动表是针对RBO的.

顾名思义驱动表在嵌套查询中的作用就像是循环结构中的 for(i = 0 ;i++;i< 10),服务器就是通过循环驱动表的记录匹配与驱动表关联的表的数据,最后输出.

使用道具 举报

回复
论坛徽章:
3
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02
33#
发表于 2007-10-27 16:51 | 只看该作者

Re: rule 下所谓驱动表

最初由 biti_rainy 发布
[B]还有  nested loops  and  hash  join 之份

我们以 nested  loop 为例:

如果两个表连接字段都没有索引(通常这个时候是 sort  merge /  hash  join),则驱动表会选择后者

若两个表其中有一个有索引而另外一个没有索引,则驱动表是没有索引那一个,跟顺序无关

若两个表都有索引,则驱动表为 后面 那一个表

所以事实上,RULE下,只有在两个表都存在连接字段的索引的情况下才需要考虑顺序问题
也就是小表放在后面大表放在前面(当然到底哪个好这实际上还跟  符合条件的记录数、数据分布等因素相关!!!,所以应该以实际测试为准)

如果是 CBO 下则跟顺序无关 [/B]


受益菲浅

使用道具 举报

回复
论坛徽章:
19
授权会员
日期:2007-08-25 20:02:41会员2007贡献徽章
日期:2007-09-26 18:42:10BLOG每日发帖之星
日期:2008-11-13 01:01:05
34#
发表于 2008-4-22 18:51 | 只看该作者
从程序执行的效率和底层的实现可好好理解驱动表。

使用道具 举报

回复
论坛徽章:
11
每日论坛发贴之星
日期:2006-10-13 01:01:522011新春纪念徽章
日期:2011-02-18 11:42:47生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53生肖徽章2007版:虎
日期:2008-01-02 17:35:53生肖徽章2007版:兔
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:鸡
日期:2008-01-02 17:35:53ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10
35#
发表于 2008-4-22 21:53 | 只看该作者
原帖由 zhgazn 于 2007-7-25 09:30 发表
有一个问题:如果两个表都建了index,然后又加hint,又是怎么样的情况呢?
麻烦高手解释一下!


hint的优先级是最高的

使用道具 举报

回复
论坛徽章:
11
每日论坛发贴之星
日期:2006-10-13 01:01:522011新春纪念徽章
日期:2011-02-18 11:42:47生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53生肖徽章2007版:虎
日期:2008-01-02 17:35:53生肖徽章2007版:兔
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:鸡
日期:2008-01-02 17:35:53ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10
36#
发表于 2008-4-22 21:54 | 只看该作者
原帖由 juan025 于 2007-10-27 16:31 发表
CBO优化不存在驱动表的概念了,驱动表是针对RBO的.

顾名思义驱动表在嵌套查询中的作用就像是循环结构中的 for(i = 0 ;i++;i< 10),服务器就是通过循环驱动表的记录匹配与驱动表关联的表的数据,最后输出.


这个,这个……

使用道具 举报

回复
论坛徽章:
11
数据库板块每日发贴之星
日期:2007-10-10 01:04:092010新春纪念徽章
日期:2010-01-04 08:33:08祖国60周年纪念徽章
日期:2009-10-09 08:28:00生肖徽章2007版:马
日期:2009-04-12 17:19:242009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:猪
日期:2008-05-06 11:10:422008新春纪念徽章
日期:2008-02-13 12:43:03生肖徽章2007版:鼠
日期:2008-01-02 17:35:53授权会员
日期:2007-11-02 16:47:52ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
37#
发表于 2008-4-22 22:57 | 只看该作者
先mark

使用道具 举报

回复
论坛徽章:
6
生肖徽章2007版:鼠
日期:2007-11-28 15:47:16辩论纪念章
日期:2010-11-15 09:41:55ITPUB社区12周年站庆徽章
日期:2013-10-08 14:53:15ITPUB社区12周年站庆徽章
日期:2013-10-08 14:56:08ITPUB社区12周年站庆徽章
日期:2013-10-08 14:59:19ITPUB社区12周年站庆徽章
日期:2013-10-08 15:00:34
38#
发表于 2008-4-23 09:18 | 只看该作者
学习

使用道具 举报

回复
论坛徽章:
27
设计板块每日发贴之星
日期:2007-08-24 01:05:17奥运会纪念徽章:拳击
日期:2012-06-25 14:17:112012新春纪念徽章
日期:2012-01-04 11:49:54生肖徽章2007版:龙
日期:2009-04-07 18:18:35生肖徽章2007版:鸡
日期:2008-10-14 14:14:30生肖徽章2007版:龙
日期:2008-10-08 21:22:20铁扇公主
日期:2008-09-28 11:20:58授权会员
日期:2008-09-05 13:30:44ITPUB元老
日期:2008-09-05 13:30:31奥运会纪念徽章:摔跤
日期:2008-07-26 08:05:05
39#
发表于 2008-4-23 09:27 | 只看该作者
原帖由 gozheng 于 2003-7-24 11:04 发表
这个问题我也郁闷,我经常跟同事说要小表(记录小的)驱动大表(记录百万级别的),也就是说FROM 后先写小表,再大表,可我用EXPLAIN PLAN查看发现前后没关系,执行计划都一样!那还有什么驱动表的概念?难道真如FLY115所说的,ORACLE会自动选择驱动表?

我也一直这么认为,先选小表后选大表,关注

使用道具 举报

回复
论坛徽章:
10
2009日食纪念
日期:2009-07-22 09:30:00雪佛兰
日期:2013-12-18 22:21:22Jeep
日期:2013-12-04 21:41:402013年新春福章
日期:2013-05-27 10:23:002013年新春福章
日期:2013-05-27 10:23:002013年新春福章
日期:2013-05-27 10:23:00双黄蛋
日期:2013-01-13 23:04:422012新春纪念徽章
日期:2012-01-04 11:54:26双黄蛋
日期:2011-06-23 12:19:162014年新春福章
日期:2014-03-24 22:47:17
40#
发表于 2010-9-11 14:32 | 只看该作者
呵呵,老帖很有味道

使用道具 举报

回复

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

本版积分规则 发表回复

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