大量的left join 怎么优化
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/08 14:37:20
大量的left join 怎么优化
select a.id,
a.num,
b.num,
b.pcs,
c.num,
c.pcs,
d.num,
d.pcs,
e.num,
e.pcs,
a.x,
a.y from a left join b.id=a.id and b.time=a.time
left join c.id=a.id and b.time=a.time
left join d.id=a.id and b.time=a.time
left join e.id=a.id and b.time=a.time
where a.time='2013-10-1'
这样查询效率很低,要几十分钟才能出laugh数据~每张表有上千万条数据,求问该如何优化?
select a.id,
a.num,
b.num,
b.pcs,
c.num,
c.pcs,
d.num,
d.pcs,
e.num,
e.pcs,
a.x,
a.y from a left join b.id=a.id and b.time=a.time
left join c.id=a.id and b.time=a.time
left join d.id=a.id and b.time=a.time
left join e.id=a.id and b.time=a.time
where a.time='2013-10-1'
这样查询效率很低,要几十分钟才能出laugh数据~每张表有上千万条数据,求问该如何优化?
在各个表的id和time属性上创建索引,而且把其中除了第一次left join中的 b.time=a.time外,其余的 b.time=a.time去掉,并先对b表执行 b.time='2013-10-1'的查询.
如果各表都需要判断时间的话,那么请先在各表上执行基于时间的选择操作,在参加左外连接.因此,时间字段上的索引很重要.
如果各表都需要判断时间的话,那么请先在各表上执行基于时间的选择操作,在参加左外连接.因此,时间字段上的索引很重要.
left join的用法
删除怎么用left join
left join和inner join的区别
这句sql语句怎么改成left join的
left join 和 left outer join 的区别
SSH怎么使用外连接.right join,left join
SQL中 inner join、 left join 、right join、 outer join之间的区别
inner join,left join,right join,full join 的区别?最好用例子说明!
join的过去式七年下同步优化里的
如何将linq left join 的写法转换成 limq left join lambad的写法
数据库中的left join 和left outer join有什么本质的区别?
数据库的问题:解释inner join,left outer join ,cross join