在执行一条多表关联的sql语句时,发现执行速度比较慢,需要4秒以上。
然后通过EXPLAIN(执行的sql语句)看语句使用索引的情况以及查询表的顺序
然后找到第一个没有使用索引的表,给它的where条件使用的字段建立联合索引,要按照引用的字段的顺序建立
CREATE INDEX shop_id_relation_type_active_status ON shared_revenue ( `shop_id`, `relation_type`,`active_status`)
建立索引后,再次执行sql语句,时间由4s变为了0.13s.查询EXPLAIN索引情况如下