执行sql:select * from mon_res_metric m inner join com_alert_active_list a ON a.metric_id = m.id 其中,a.metric_id有索引,m.id是主键有索引。 a表有4282条记录,m表有3504323条记录。 求指教,多谢!
select * from mon_res_metric m
inner join com_alert_active_list a ON a.metric_id = m.id
因为你这个语句是没有查询过滤条件的,肯定还是要全表扫描的,从你的执行计划上来看,是以a表为主,来关联m表,a表用metric_id,通过 m表的主键索引列 id,来关联,所以m表用的是eq_ref 唯一性索引扫描,
这种执行计划相对来说,已经是比较好的执行计划了,以小的表来驱动大表,同时大表的关联字段上有 主键索引,这样的效率比较高。