mysqlsql优化

    xiaoxiao2021-03-25  146

    事情是这样的,之前的小伙伴碰到一个sql优化的问题,,三个表联查,速度很慢要十几秒,当然这个三个表数据有个几万条的样子,想想不该呀,几万条数据而已,第一反应是索引问题,mysql完全没问题不至于这么慢嘛。

    SQL : 

    SELECT     M.member_id,     M.mobile,     M. STATUS,     U.tj_name,     U.appointtime,     M.re_name,     O.store_name,     M.wedding_day,     O.add_time,     O.amount,     O.poundage FROM     e0e_member M LEFT JOIN e0e_appointment U ON M.mobile = U.mobile LEFT JOIN e0e_order O ON U.mobile = O.mobile ORDER BY     M.member_id DESC LIMIT 0,  15

    根据小伙伴自己排查的去掉“ORDER BY  M.member_id DESC” 速度就很快,就像是不是member_id没加索引,然后小伙伴加上后,说是更慢了。。。。

    我也是无了个语,让小伙伴把这三个表发过来看一看

    //

    三个表

              appointment 大概有三万多不到四万的数据,

              member 大概有一万多条

             order 大概一万多

    跑了一下速度确实慢,可能不止十几秒,,因为我没耐心等。。

    然后就是给left join on加上索引,加着加着。。。发现了一个xxxxx,其中一个表里moblie用的bigint(20),另外两个用的varchar(15)。。。。

    最后统一成bigint(20) 加上索引,,跑了一下。飞起来。 时间: 0.002s

    ps:left join on 加索引。。有利于搜索速度

            

    转载请注明原文地址: https://ju.6miu.com/read-2958.html

    最新回复(0)