首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

怎么提高SQL语句的左连接查询效率

2012-05-30 
如何提高SQL语句的左连接查询效率如以下示例,表的记录很多有A,B,C三个表,每个表有6千万条记录,SELECTA.a1,

如何提高SQL语句的左连接查询效率
如以下示例,表的记录很多有A,B,C三个表,每个表有6千万条记录,

SELECT
  A.a1,A.a2,B.b1,B.b2,C.c1,C.c2
FROM
  A
LEFT OUTER JOIN B ON B.a1=A.a1
LEFT OUTER JOIN C ON C.a1=A.a1
where A.a2='xxx'


现在用左连接对表进行查询,有什么办法可以将其效率优化???

[解决办法]
觉得速度不够对 对所需要查询的表 以查询条件建立表索引即刻提高查询速度
[解决办法]
因为外连接a表,a表的6千万记录要全显示,要做fts,速度不会快到那里去的。不过b、c表可走索引。你贴个执行计划看看。
[解决办法]
应该可以,子查询能减少关联时的记录数
SELECT
A.a1,A.a2,B.b1,B.b2,C.c1,C.c2
FROM
(select * from A where A.a2='xxx')A
LEFT OUTER JOIN B ON B.a1=A.a1
LEFT OUTER JOIN C ON C.a1=A.a1

热点排行