processlist中哪些状态要引起关注(5页)Good is good, but better carries it
精益求精,善益求善
processlist 中哪些状态要引起关注一般而言,在 processlist 结果中假如常常能看到某些 SQL 的话,至少可以说明这些 SQL 的频率很高,通常需要对这些 SQL 进行进一步优化
在 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_sizeCreating sort index当前的 SELECT 中需要用到临时表在进行ORDER BY 排序建议:创建适当的索引Creating tmp table创建基于内存或磁盘的临时表,当从内存转成磁盘的临时表时,状态会变成:Copying to tmp table on disk 建议:创建适当的索引,或者少用 UNION、视图(VIEW)、子查询(SUBQUERY)之类的,确实需要用到临时表的时候,可以在 session 级临时适当调大 tmp_table_size/max_he