1、Copying to tmp table
查询超出了tmp_table_size的限制,那么mysql用/tmp保存查询结果,然后返回给客户端
调整参数,修改为200M:
SET GLOBAL tmp_table_size=209715200
SET tmp_table_size=209715200
SET GLOBAL max_heap_table_size=209715200
SET max_heap_table_size=209715200
FLUSH PRIVILEGES
或编辑/etc/my.cnf
max_heap_table_size = 200M
tmp_table_size = 200M
2、Sending data
“Sending data”状态的含义,是包括“收集 + 发送 数据”。原因在于:mysql使用“索引”完成查询结束后,mysql得到了一堆的行id,如果有的列并不在索引中,mysql需要重新到“数据行”上将需要返回的数据读取出来返回个客户端。
innodb使用大字段text,blob的一些优化建议,当Innodb的存储格式是 ROW_FORMAT=COMPACT (or ROW_FORMAT=REDUNDANT)的时候,Innodb只会存储前768字节的长度,剩余的数据存放到“溢出页”中。