奇怪的SQL语句 求助(分少请原谅)

tigar_chen 2009-11-05 10:17:48
select A.X, A.Y, B.X, B.M
from A
left join B
on A.X = B.X
where A.X = "XXXX" ---0.015秒

select A.X, A.Y, B.X, B.M
from A
left join B
on A.X = B.X
where B.M = "XXXXXX" -----12秒

select A.X, A.Y, B.X, B.M
from B
left join A
on A.X = B.X
where B.M = "XXXXXX" ----0.015秒

A.X, B.M上都建了索引,B.X为外键,有索引, A表数据百万级 B表十万级
为什么第二条会耗时这么严重?
...全文
68 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
liusong_china 2009-11-05
  • 打赏
  • 举报
回复
看一下执行计划。。。
set autot on
tigar_chen 2009-11-05
  • 打赏
  • 举报
回复
嗯,知道了~..left join的时候 B表有Null 索引失效...

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧