ORACLE中SELECT语句中WHERE语句中,各条件的执行顺序是什么样的?

南飞雁 2001-12-03 02:45:27
ORACLE中SELECT语句中WHERE语句中,各条件的执行顺序是什么样的?比如select * from t_1 where c_1 and c_2 and c_3,c_1和c_3哪个先执行呢?
...全文
150 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
南飞雁 2001-12-03
多谢三千
回复
KingSunSha 2001-12-03
要解释EXPLAIN和HINTS牵涉的东西太多了,<ORACLE高级管理和优化>一书中大概有三分之一的内容是讲这方面的,而且要求对ORACLE概念相当清晰.
我恐怕不能把这个问题讲清楚,你还是去仔细研究一下这本书吧,在这之前最好先看完<ORACLE CONCEPTS>
回复
南飞雁 2001-12-03
我在《Oracle 8i初学者指南》上看到Oracle编译SQL语句是从后往前编译的,但我不知道执行的时候是什么顺序?怎么使用EXPLAIN PLAN和HINTS,三千大侠能否解释一下?
回复
KingSunSha 2001-12-03
ORACLE在执行一句SQL之前会进行执行路径的分析,根据不同的原则(成本原则/规律原则)来确定哪一种执行路径最优化,在不同情况下,执行路径不一样(比如纪录数量/索引条件等).你可以用EXPLAIN PLAN来具体分析一句SQL的执行路径.
同时ORACLE还允许用户自己指定执行路径,称为HINTS(暗示)技术.

你光是这样问恐怕没有办法确定
回复
发动态
发帖子
Sybase
创建于2007-09-28

2573

社区成员

Sybase相关技术讨论区
申请成为版主
社区公告
暂无公告