MySQL社区

标题: 请教关联表查询的优化 [打印本页]

作者: 时与蓝调    时间: 2015-8-28 17:13
标题: 请教关联表查询的优化
如下的查询中,临时表 tmp_VelInfo 中有一万条数据,ExcepMoveAlarmRec中有150万条数据,vehicleid和alarmtime是主键, operatorinfo 中有一千条数据,operatorid是主键,通过时间参数查出54万需要7.7秒,实在慢得可以,请问该如何优化。
set @mRowNO=0;
select
@mRowNO := @mRowNO +1 as Nom,
n.VehicleLic ,n.groupname ,m.AlarmTime ,
m.DealState ,m.DealRemark ,m.DealTime ,
d.operatorName
FROM
ExcepMoveAlarmRec m
inner join tmp_VelInfo n ON m.vehicleid = n.vehicleid
left outer join operatorinfo d on m.DealOpId=d.operatorid
where m.AlarmTime BETWEEN  v_BeginTime  and  v_EndTime;

执行计划.PNG (10.47 KB, 下载次数: 21)

执行计划.PNG

作者: kider    时间: 2015-8-28 17:47
保证每个where中的字段有索引先




欢迎光临 MySQL社区 (http://www.mysqlpub.com/) Powered by Discuz! X3.2