根据Oracle优化路径
rule 模式下的规则:1、有两个索引存在的情况下,from后面大表在前。小表(返回记录少的表,不是记录少的表)在最后,作为驱动表,Oracle处理SQL语句是从左到右2、有一个索引,则顺序无关3、都没有索引,则大表应该在后
rule 模式下的规则:1、有两个索引存在的情况下,from后面大表在前。小表(返回记录少的表,不是记录少的表)在最后,作为驱动表,Oracle处理SQL语句是从左到右2、有一个索引,则顺序无关3、都没有索引,则大表应该在后
from ta_a,ta_b,ta_c
where ta_a = 'Para3'
and ta_c = 'Para2'
and ta_b = 'Para1'
and ta_a.key = ta_b.key
and ta_a.key = ta_c.key
假设 ta_a表中数据量最大,ta_b表中数据量最小
先处理大表
要写在后面呢?是不是Oracle处理语句的时候将条件从后向前扫描呢?
谁能讲讲原理性的东西呢
ta_a.key = ta_b.key 中
ta_a.key、ta_b.key的位置不同应该效率也不同吧