MySql操作缓慢:copy to tmp table

MySql操作缓慢:copy to tmp table

在给表加字段的时候,发现执行几分钟还没完成,查了下数据量,不到200w条记录,不应该出现这种情况。 
后来想了想可能是别的线程锁表了。 
新建窗口,执行 show processlist,看到所有操作表的线程 
发现 state状态为copy to tmp table,这是因为临时结果集大于tmp_table_size,正在将临时表从内存存储转为磁盘存储以此节省内存

解决方案:

  • 放大tmp_table_size 
    使用命令 mysql> show variables like ‘%tmp%’; 
    查询tmp_table_size 为默认16M 
    修改 my.cnf 
    tmp_table_size = 256M
  • 优化sql
  • 优化参数,详见 
    http://blog.csdn.net/u012104435/article/details/50915604

你可能感兴趣的:(mysql,语言)