SELECT *
FROM a,b,c
WHERE
a.f1 = b.f1 AND
a.f2 = c.f1 AND
a.f3 = c.f2a表pk f1
b表pk f1
c表pk f1,f2a表,5万条记录
b表,10条
c表,100条现在这个sql文性能很差,甚至把b表所有记录清空了也一样。
怎么进行优化?
FROM a,b,c
WHERE
a.f1 = b.f1 AND
a.f2 = c.f1 AND
a.f3 = c.f2a表pk f1
b表pk f1
c表pk f1,f2a表,5万条记录
b表,10条
c表,100条现在这个sql文性能很差,甚至把b表所有记录清空了也一样。
怎么进行优化?
sql>SELECT *
FROM a,b,c
WHERE
a.f1 = b.f1 AND
a.f2 = c.f1 AND
a.f3 = c.f2看下执行计划 查看等待事件 select * from v$session_wait估计是A表没有用上索引,建立A表的(F1,F2,F3)复合索引再试下
FROM c,a,b
WHERE
a.f2 = c.f1 AND
a.f3 = c.f2 AND
b.f1 = a.f1