最近遇到的一些mysql的问题

    技术2022-05-20  36

    一、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)