最近遇到的一些mysql的问题

一、sql语句优化:

1、in/not in、exists/not exists使用;

2、join优化;

     mysql中使用了nested loop join(驱动表/外表和内表,适合驱动表较小的场景),参考oracle的join优化,还有hash join(返回的集合比较大的情况)和sort merge join。

 

 

 

二、其他:

1、mysql和页面之间的字符集不匹配导致乱码;

2、too many connecions;

3、max_allowed_packet 导致调试出错、lost connection;

4、lost connection;

5、load data infile 导入某些选择列;

6、query cache 是否一定就很好;

 

 

 

三、解决mysql问题的思路:

1、看症状、show status命令、慢查询。查询慢、cpu占用率高?连接不上?偶尔丢失连接?乱码?

2、查询的问题从索引、优化sql语句上出发、一般优化原则(比如用exists代替in)以及和业务相关的原则(比如这篇);

3、考虑修改mysql的配置;

4、查看是否是系统问题。允许打开的最大文件描述符、io;

5、error log、general log;

6、google——实际上大部分时候,最先想到的就是这个 :D

 

 

 

四、吐槽:

1、坚持很久是很难的,无论是写点东西还是那啥;

2、弄点新的东西也是很难的,一搜一大把的东西就不怎么想记录下来了;

3、对自己复述或者写出来是记忆的一种比较好的方式;

4、写东西和那啥有点儿不一样就是习惯了也许就能比较持久了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值