MySQL关键线程状态解读

博客内容介绍了MySQL在执行不同操作时的关键线程状态,如checking permission用于权限检查,cleaning up负责资源释放,copying to tmp table涉及数据排序和临时表操作,creating sort index在进行排序,reading from net表示读取客户端请求,sorting result对结果进行排序,而waiting for lock_type lock则涉及多种锁等待情况。建议优化查询、创建索引和调整系统设置以提升性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • checking permission:安全检查,检查是否有权限。
  • cleaning up :打扫战场 - 释放内存,释放持有的句柄等。
  • closing table:用完了,关闭该表,刷新到磁盘。如果长时间处于该状态,有可能磁盘满了。
  • copy to tmp table:执行alter table修改表结构时。建议凌晨执行。
  • copying to tmp table:拷贝数据到内存中的临时表,常见于group by操作时。建议创建索引。
  • copying to tmp table on disk:临时结果集太大,内存中放不下,需要将内存中的临时表拷贝到磁盘上,形成#sql***.MYD、#sql***.MYI。建议创建索引,加大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。建议创建索引。
  • freeing items:通常是cleaning up之后的状态,例如正在释放query cache。
  • Reading from net:表示server端正通过网络读取客户端发送过来的请求。建议减小客户端发送数据包大小,提高网络带宽质量。
  • removing tmp table:删除select中用完的临时表。
  • sending data:从server端发送数据到客户端,也有可能是接收存储引擎返回的数据,再发送给客户端,数据量很大时尤其经常能看见。建议通过索引或limit,减少需要扫描的数据量。(sending data不是网络发送,是从磁盘读取。发送到网络是writing to net)
  • sorting result:正在对结果进行排序,类似creating sort index,不过是正常表,而不是在内存中进行排序。建议创建索引。
  • statistics:进行数据统计以便解析执行计划,如状态比较经常出现,有可能是磁盘IO性能很差。建议查看当前IO性能状态,例如iowait。
  • system lock:正在等待系统级锁。建议关闭外部锁skip external locking(默认是关闭的)
  • waiting for global read lock:flush tables with read lock正等待全局读锁。
  • waiting for tables、waiting for table flush:FLUSH TABLES, ALTER TABLES, RENAME TABLE, REPAIR TABLE, ANAYLZE 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值