首页 > 数据库 >mysql慢sql优化思路

mysql慢sql优化思路

时间:2024-10-17 16:59:11浏览次数:12  
标签:sql 查询 连表 索引 mysql 思路 大表

  1. 开启慢sql查询配置,或使用云服务厂商的慢sql统计,找到慢sql
  2. 看下是不是使用了select *,如果是的话,改为查找字段,因为这样可以避免优化器去解析字段,单次查询可能效果不明显,但是一旦并发上来以后,这个就比较明显了,还有就是减少网络IO的消耗
  3. 看下对应的数据量级,如果连表的话,是不是小表驱动大表,小标驱动大表可以使用到join buffer,如果是大表驱动小表的话,数据量一大,没办法单次join buffer,就会导致查询慢
  4. 看下连表的字段或者条件的字段,都有没有走索引,是不是上线的时候漏加了索引,查询字段尽量保证索引覆盖。
  5. 用explain查一下执行计划,看下有没有走索引。
  6. 看下是不是有深分页的问题,偏移量大的情况下,查询会慢,可以使用id限定的方式提高效率,就是使用id>xxx作为其中一个条件,缩减扫描条数

标签:sql,查询,连表,索引,mysql,思路,大表
From: https://www.cnblogs.com/alvisClub/p/18472696

相关文章

  • 【MySQL】[HY000][1366] Incorrect string value: ‘\xE4\xB8\xA4\xE6\x95\xB0.
    问题描述在导入中文数据时遇到错误。[2024-10-1610:49:49][HY000][1366]Incorrectstringvalue:'\xE4\xB8\xA4\xE6\x95\xB0...'forcolumn'title'atrow1尝试将某些数据插入到名为’title’的列时,遇到了不正确的字符串值。原因分析MySQL5.7创建数据库的默......
  • MySQL 【日期】函数大全(六)
    目录1、TIME_FORMAT() 按照指定的格式格式化时间。2、TIME_TO_SEC() 将指定的时间值转为秒数。3、TIMEDIFF() 返回两个时间之间的差值。4、TIMESTAMP() 累加所有参数并将结果作为日期时间值返回。5、TIMESTAMPADD() 将指定的时间间隔加到一个日期时间值上并返回结果......
  • 解决`GLIBCXX_3.4.29‘ not found的正确思路
    重新安装完rasa,运行rasatrain的时候,很无奈地遇到了“/lib/arm-linux-gnueabihf/libstdc++.so.6:version`GLIBCXX_3.4.29'notfound”报错。立马上网查找解决方案,结果大多数都是让我下载一个编译好的libstdc++.so.6.29,然后做一个软连接。我是树莓派3B+,属于armhf,还不能直接......