高手请进,关于调优的这种说法有无依据?

[复制链接]
查看11 | 回复7 | 2006-6-10 17:18:36 | 显示全部楼层 |阅读模式
1。驱动表的概念大家都不陌生,那数据库在驱动表选择上
是什么依据,from 语句的最后一个表名,会被做为驱动表,这种
概念对吗?

2。在写查询条件时,有的人说条件执行是从上到下,即把WHERE子句中,过滤最多记录的查询条件放到最前面,这样执行效率最高
另一说法有的人说是从下到上,即过滤最多记录的条件应该放到最后,那究竟哪一种概念准确呢?ORALCE内部WHERE语句的执行顺序到底是怎样的呢?

盼高人给予解答,谢谢!
回复

使用道具 举报

千问 | 2006-6-10 17:18:36 | 显示全部楼层
2.oracle里where是从右往左执行的。
回复

使用道具 举报

千问 | 2006-6-10 17:18:36 | 显示全部楼层
关注ing...
回复

使用道具 举报

千问 | 2006-6-10 17:18:36 | 显示全部楼层
.RBO下是以最后一个表名为驱动表,CBO一般选择返回记录集最少的那个表做为驱动表
.如果是CBO,一般情况会选择最优的执行计划,也就是根据where条件选择合适的索引,所以顺序不是很重要,如果CBO不选择自己认为最优的执行计划的时候,就可以加上HINT
回复

使用道具 举报

千问 | 2006-6-10 17:18:36 | 显示全部楼层
大家说的很明白,呵呵,谢谢,我把两个问题总结一下。
也就是说,第1个问题:驱动表的顺序只跟RBO有关,与CBO无关,在RBO中FROM后面的最后一个表会是驱动表
问题2:where 后的条件执行是从右到左,所以最后的条件,最先执行
呵呵,有错误大家再给纠正昂,谢谢
回复

使用道具 举报

千问 | 2006-6-10 17:18:36 | 显示全部楼层
學習中。
回复

使用道具 举报

千问 | 2006-6-10 17:18:36 | 显示全部楼层
最初由 COLDARCHON 发布
[B]大家说的很明白,呵呵,谢谢,我把两个问题总结一下。
也就是说,第1个问题:驱动表的顺序只跟RBO有关,与CBO无关,在RBO中FROM后面的最后一个表会是驱动表
问题2:where 后的条件执行是从右到左,所以最后的条件,最先执行
呵呵,有错误大家再给纠正昂,谢谢 [/B]

第二个你也站不稳!
如果按你说的,下面这个查询应该先执行rn2 like '%%'这个条件,能对吗??????
[php]
SQL> l
1* select max(rn1) from test1 where rn1='1000' and rn2 like '%%'
SQL> /
Execution Plan
----------------------------------------------------------
Plan hash value: 1405630421
------------------------------------------------------------------------------------------
| Id| Operation
| Name| Rows| Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT
| | 1 |81 |10 (0)| 00:00:01 |
| 1 |SORT AGGREGATE
| | 1 |81 |
|
|
|*2 | TABLE ACCESS BY INDEX ROWID| TEST1 | 1 |81 |10 (0)| 00:00:01 |
|*3 |INDEX RANGE SCAN
| TEST1_RN1 | 6 | | 3 (0)| 00:00:01 |
------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter("RN2" LIKE '%%')
3 - access("RN1"='1000')
[/php]
回复

使用道具 举报

千问 | 2006-6-10 17:18:36 | 显示全部楼层
恩,楼上的说的很对,我想准确的说法应该是第二条,也有个条件,是基于RBO来说的,这个大家有异议吗
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行