对于发现的慢 SQL 进行优化

发布于 2023-07-06 23:50:48 字数 1390 浏览 36 评论 0

sql 中的 limit

治理的优先级

  • master 数据库 > slave 数据库
  • 执行次数多的 SQL 优先治理
  • 如果一类 SQL 高并发集中访问某一张表,优先治理

影响因素

  • 数据量
    • 适当合并多个查询子句来实现合并 IO 的目的
    • 使用分布式数据库的方式来进行数据和 I/O 分散
  • 取数据的方式:使用缓存
  • 数据加工的方式

优化方向

  • 索引:
    • 复合索引
    • 索引的大小: InnoDB 一个 page 的默认大小是 16k
    • 防止退变成链表(至少 2 个):存在辅助索引的二次变换以及预留空间等:取整( 1024*3
    • innodb_large_prefix :结合一下 UTF-8 的字节数
    • 避免索引的隐式转换:即出现索引失效的场景
  • 数据库字段长度:使用合适的字段长度可以减少 I/O
  • 使用 join 替代 in
    • 可以防止 in 对数据进行了加工,产生临时表

相关语令

  • show variables like 'log_slow_queries'
    • SQL 日志
  • show variables like 'long_query_time'
    • 执行时间超过多少秒的 SQL
  • log_queries_not_using_indexes
    • 没有使用过的索引
  • 相关使用方法
    log-slow-queries=/data/mysqldata/slowquery.log
    long_query_time=2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

玩心态

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

13886483628

文章 0 评论 0

流年已逝

文章 0 评论 0

℡寂寞咖啡

文章 0 评论 0

笑看君怀她人

文章 0 评论 0

wkeithbarry

文章 0 评论 0

素手挽清风

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文