oracle left join走不到索引问题分析

写了个left join语句,如下:

select A.c,B.d

from A

left join B

on A.a = B.a

and A.b = B.b

对A表的a, b字段和B表的a, b字段都建了联合索引, 发现on后的条件怎么也走不到索引

查到有个说法是只有where后的语句可以走到索引,试着改为(+)

select A.c,B.d

from A, B

where A.a = B.a(+)

and A.b = B.b(+)

一样走不到索引。

查到有说法是left join和 (+)其实一样一样的。

会不会测试环境 的数据量太小了?

果然是,测试环境只有100条数据,生产上数据量为100万,在生产上就生效了。

猜你喜欢

转载自blog.csdn.net/shd_624/article/details/81168783