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
Inn0cence
V2EX  ›  MySQL

MYSQL 慢查询为什么会导致 CPU 占用率过高

  •  
  •   Inn0cence · 2020-03-31 10:33:20 +08:00 · 3536 次点击
    这是一个创建于 1484 天前的主题,其中的信息可能已经有所发展或是发生改变。

    性能调优的过程中发现慢查询过多会导致 CPU 占用飙升, 假如我慢查询的原因是磁盘随机 IO 过多,这个瓶颈主要是在磁盘吧?为什么 CPU 占用也会飙升。

    5 条回复    2020-04-05 23:58:37 +08:00
    msg7086
        1
    msg7086  
       2020-03-31 10:40:16 +08:00
    命题假设错误。
    很多慢查询是因为要扫表,也就是几十万条记录一个个看过去,有些是要先生成几十万条记录然后再查,所以很容易就吃光 CPU 导致慢查询了。
    Inn0cence
        2
    Inn0cence  
    OP
       2020-03-31 10:47:30 +08:00
    @msg7086 加了索引的情况下,扫描行数到不了这么高,但是 CPU 占用还是飙升
    sansanhehe
        3
    sansanhehe  
       2020-03-31 11:38:24 +08:00
    @Inn0cence 扫描行不多但是 CPU 依然高,有可能是每行数据包含的列较多,某些列的数据量比较大
    Inn0cence
        4
    Inn0cence  
    OP
       2020-03-31 12:00:54 +08:00
    @sansanhehe innodb 走索引,先是通过索引找到主键,再通过主键去查询记录,这个时候还和列有关啊?
    xcstream
        5
    xcstream  
       2020-04-05 23:58:37 +08:00
    就是查字典不看目录从第一页翻到最后一页,费脑子
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3561 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:08 · PVG 19:08 · LAX 04:08 · JFK 07:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.