首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
Coding
V2EX  ›  MySQL

已定位出线上 MySQL 出现了慢查询,该怎么在线处理呢?

  •  
  •   amos15 · 20 天前 · 2336 次点击

    如题,前提是 [已定位] 出了慢查询,要在不重启 MySQL 和关联的应用程序的情况下解决这个问题

    13 回复  |  直到 2019-11-22 20:53:06 +08:00
        1
    Jemini   20 天前 via iPhone   ♥ 2
    不应该是抓写那个查询的人出来祭天吗😹
        2
    hanxiV2EX   20 天前 via Android
    加索引
        3
    crclz   20 天前
    如果慢查询出现在索引、表结构,那么要看当前版本的 mysql 是否支持不停机建索引。

    如果慢查询是因为不好的 sql 语句:
    假设应用程序有 n 个实例(n>=2),记现在服务端程序的版本为 v1。
    现在将解决了慢查询问题的服务端 v2 开发写出来。然后将 v1 实例逐个替换成 v2。
    如果只有一个实例,那么请开多个实例。
        4
    weo0   20 天前
    @hanxiV2EX 数据量大,不停机加索引,不会出问题吗,我司有一次就是有一个同事不停机加索引崩了……
        5
    realpg   20 天前
    针对那一条查询,DBA 和写的码农一起诊断
    是否能在数据库段优化,是否影响业务
    如果不能在数据库端优化,那就更改逻辑拆分成简单有效查询
        6
    l8g   19 天前
    这种情况只能看看能不能调整索引。
    不停机的话要看表的数据量和读写压力,否则业务高峰期进行的话有一定风险。
    我司调整索引一般是在凌晨没有什么请求量的情况下进行。
    当然如果显然是 SQL 写的效率低的话,更好的做法是肯定是修改代码重新发布,应用如果有多个实例的话影响也不会非常大。
        7
    lihongjie0209   19 天前
    你这个要求就像在线修复 BUG 一样
        8
    b821025551b   19 天前
    别无脑加索引,数据量大会把机器搞死掉的
        9
    fuyufjh   19 天前
    @weo0 MySQL 5.7 开始 Add Index 就支持 Online 了。只要别在负载太高的时候做就行。
        10
    amos15   19 天前
    @crclz @realpg @l8g @b821025551b @fuyufjh @realpg 谢谢哈
    是昨天被问到的,答了表索引索引设计不当,SQL 语句,连接数,MySQL 选错索引,QPS 等方面原因,对应的解决方法和工具也分别答了,大致和大神们说的差不多,同时也提到了慢查询的检查和定位方案等,但是对方好像还在期待更好的解决方案
        11
    amos15   19 天前
    @Jemini 难道这就是终极方案Σ( ° △ °|||)︴
        12
    amos15   19 天前
    @fuyufjh online DDL 是 5.6 版本就有的,这个我觉得应该是一个比较常规的操作,早期主要通过 copy-trigger-rename 的方式也答了
        13
    amos15   19 天前
    查了下资料,5.7 的有插件可增加 rewrite query 方案,8.0 的增加了线上加 column 的操作,如果真是想问这里的话我觉得有点过了
    可能还是因为停留在了操作层和 server 层,没深入到引擎原理层去答
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2581 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 00:45 · PVG 08:45 · LAX 16:45 · JFK 19:45
    ♥ Do have faith in what you're doing.