where 后条件匹配是从前向后还是从后向前?
where 后条件匹配是从前向后还是从后向前?
假设有where 条件A and 条件B or 条件C进行查询,
数据库执行此查询时是A,B,C的筛选顺序应该是怎么样的呢?
[解决办法]
基本顺序是从后向前
[解决办法]
从最后一个开始从右向左逐个匹配
[解决办法]
理论上是从后往前
但是执行计划不见得是,oracle选择最优的执行计划
[解决办法]
做语法正确性检查时,是从后往前,但执行时,会按照RBO分析出的最优方案进行
[解决办法]
一般来说是从后往前,从右到左
所以一般都会把过滤最多数据的条件放在最后面
[解决办法]
不一定的,要看优化器的类型。如果是RBO的话就是从后往前,如果是CBO的话就按照分析出的最优方案进行。
[解决办法]
10g已经不区分前后顺序了