MqSQL优化

  前段时间数据查询慢啥的,要么就特别特别慢要么就一直加载不出来然后超时了,然后俺们老大就带着我优化了数据库和一些sql,主要是从以下方面进行的:

  1. 优化sql
  2. 优化其他影响因素
  3. 优化数据
  4. 优化数据库配置
  5. 根据需求优化
  6. 分库分表

一、优化sql

  优化sql,就是把一些慢查询给解决掉,因为我没有正式版的日志权限,所以是运维查出来比较影响性能的sql,然后我们来解决,比较简单的就由我解决,我不行的就俺们老大指导我解决~还有个大佬就是我们公司的架构师还直接处理了一条,直接将我之前写的一条超级长的sql加了一个union然后稍微改吧改吧,速度居然就快了!简直是化腐朽为神奇!

啊废话有点多,流程是这样的:

  1. 通过日志查找慢查询
  2. explain看看它为啥慢
  3. 改吧改吧
  4. 测试性能
  5. 上线

二、优化其他影响因素

  有些sql在数据库中执行一点也不慢,但是输出日志,你可以看到它用了很长时间,这是为啥捏?可能是因为它要排队,例如你在一个请求中放了好多个sql所以它得全部查询完才能返回数据,所以本来该快的也被搞慢了,这个时候我们可以用ajax啊!把你页面中的统计数据拆开,一个ajax请求一个数据就行~
  不过有一点点缺点,就是有些数据不能在页面一打开就展示出来。

三、优化数据

  这个有点神奇哈哈哈哈。
  如果你的sql已经不能再优化了,但是就是慢,因为数据太多了,我们公司是有的表百万级数据,其实也不算很多,但速度已经很慢了,因为MySQL本来就不是用来处理大量数据的,每种工具都有它的瓶颈,那咋办勒,我们公司用了kylin,将数据量很大的那几张表备份到另一个库中,然后这个库还是啥的它会分析数据,预先计算出你可能会获取的值,当你取值的时候马上返回值给你。就是有一点点麻烦,因为它取的不是正式版上的数据,并不是实时的,我们是每天备份一次,所以取值的时候就需要取kylin的值与mysql中当天数据累计统计。

四、优化数据库

  这个我还不太了解,大概是我们的架构师直接优化的~

五、根据需求优化

  有时候需求一直在变,比如有一个列表,本来是挺快的,但是加了一堆排序,导致那个列表超级超级慢,然后年前说要提出新的需求,那个列表改动很大,所以优化的时候就暂时把一些排序去掉了,现在速度嗖嗖的,e…不过年前的需求现在还没有提上日程…但是也不影响使用了,其实我也不懂为啥要把一个简单的列表搞得那么复杂,反正我是觉得很没有必要…

六、分库分表

  e…由于我们的数据量并没有辣么大~ 所以没有用到分库分表,但是我已经买了高性能MySQL,等我看懂了再来讲一讲~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值