ITPub博客

首页 > 数据库 > MySQL > mysql备库和主库同步有延迟的问题是缺少索引引起的

mysql备库和主库同步有延迟的问题是缺少索引引起的

原创 MySQL 作者:czxin788 时间:2015-10-30 20:47:14 0 删除 编辑
mysql备库和主库同步有延迟的问题是某张表缺索引





        昨天下午14:00,14:30,15:00和15:30,共出现4次从库179和主库有延迟的情况,延迟时间平均在50s左右。
        在出现问题时,管理员登陆数据库服务器,通过show processlist发现从库179在顺序执行类似如下的语句:
        UPDATE salesrule_coupon SET product_name='sss150307',order_amount='200000.0000'  WHERE orderid='77585'
       经分析,14:00,14:30,15:00和15:30这四个时间段,每分钟有大概有50条这样的update语句需要从库一个一个顺序执行,并且每条update完成时间需要1s。这样就出现了如下的现象,从库执行50条update语句就需要50s的时间,所以造成从库179和主库延迟(主库执行50条update语句可能是瞬间就能完成,因为主库的是多线程进行update,从库是单线程的)。
         最后发现每条update需要1s的原因是由于走的全表扫描(explain select * from salesrule_coupon where orderid=77884发现  ),在表salesrule_coupon的orderid字段添加索引后解决。
         alter table salesrule_coupon add index idx_salesrule_coupon_orderid (orderid);
         这样,在执行update语句,每条仅需0.03s完成。
         这是目前发现的原因,如果后期再有数据库延迟,继续观察分析。



 




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28916011/viewspace-1819386/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-06-03

  • 博文量
    233
  • 访问量
    858423