了解mysql processlist_哪些MySQL processlist状态要引起关注

状态

建议

copy to tmp table

执行ALTER TABLE修改表结构时 建议: 放在凌晨执行或者采用类似pt-osc工具

Copying to tmp table

拷贝数据到内存中的临时表,常见于GROUP BY操作时 建议: 创建适当的索引

Copying to tmp table on disk

临时结果集太大,内存中放不下,需要将内存中的临时表拷贝到磁盘上,形成 #sql***.MYD、#sql***.MYI(在5.6及更高的版本,临时表可以改成InnoDB引擎了,可以参考选项 default_tmp_storage_engine ) 建议: 创建适当的索引,并且适当加大 sort_buffer_size/tmp_table_size/max_heap_table_size

Creating sort index

当前的SELECT中需要用到临时表在进行ORDER BY排序 建议: 创建适当的索引

Creating tmp table

创建基于内存或磁盘的临时表,当从内存转成磁盘的临时表时,状态会变成:Copying to tmp table on disk 建议: 创建适当的索引,或者少用UNION、视图(VIEW)、子查询(SUBQUERY)之类的,确实需要用到临时表的时候,可以在session级临时适当调大 tmp_table_size/max_heap_table_size 的值

Reading from net

表示server端正通过网络读取客户端发送过来的请求 建议: 减小客户端发送数据包大小,提高网络带宽/质量

Sending data

从server端发送数据到客户端,也有可能是接收存储引擎层返回的数据,再发送给客户端,数据量很大时尤其经常能看见备注:Sending Data不是网络发送,是从硬盘读取,发送到网络是Writing to net 建议: 通过索引或加上LIMIT,减少需要扫描并且发送给客户端的数据量

Sorting result

正在对结果进行排序,类似Creating sort index,不过是正常表,而不是在内存表中进行排序 建议: 创建适当的索引

statistics

进行数据统计以便解析执行计划,如果状态比较经常出现,有可能是磁盘IO性能很差 建议: 查看当前io性能状态,例如iowait

Waiting for global read lock

FLUSH TABLES WITH READ LOCK整等待全局读锁 建议: 不要对线上业务数据库加上全局读锁,通常是备份引起,可以放在业务低谷期间执行或者放在slave服务器上执行备份

Waiting for tables,Waiting for table flush

FLUSH TABLES, ALTER TABLE, RENAME TABLE, REPAIR TABLE, ANALYZE TABLE, OPTIMIZE TABLE等需要刷新表结构并重新打开 建议: 不要对线上业务数据库执行这些操作,可以放在业务低谷期间执行

Waiting for lock_type lock

等待各种类型的锁:• Waiting for event metadata lock• Waiting for global read lock• Waiting for schema metadata lock• Waiting for stored function metadata lock• Waiting for stored procedure metadata lock

• Waiting for table level lock

• Waiting for table metadata lock

• Waiting for trigger metadata lock

建议:比较常见的是上面提到的global read lock以及table metadata lock,建议不要对线上业务数据库执行这些操作,可以放在业务低谷期间执行。如果是table level lock,通常是因为还在使用MyISAM引擎表,赶紧转投InnoDB引擎吧,别再老顽固了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值