sort_buffer_size: 每个session 必须执行一个排序 分配一个 这个大小的buffer. sort_buffer_size 不特定的对于任何存储引擎适用于一般的优化方式。 sort_buffer_size的最小值 必须足够大 容纳15个元组在sort buffer. 同时, 增加 max_sort_length的值 可能需要增加sort_buffer_size的值 如果你看到很多的Sort_merge_passes 每秒在 SHOW GLOBAL STATUS输出 [root@zjzc01 binlog]# mysql -uroot -p'R00t,uHagt.0511' -e"SHOW GLOBAL STATUS" | grep -i sort Warning: Using a password on the command line interface can be insecure. Sort_merge_passes 44 Sort_range 8619222 Sort_rows 1212216576 Sort_scan 10157773 你可以考虑增加sort_buffer_size value来加速 ORDER BY 或者GRUP BY 操作 不能通过查询优化或者改善索引 在MySQL 5.6.4中,优化器 尝试计算难处 需要多少空间 但是可以分配更多, 最大到限制。 在MySQL 5.6.4种,优化器分配整个buffer 即使它是不完全需要的。 在任何情况下,设置它大于需要的激昂减慢大多数查询。 最好是增加它 作为session设置 在Linux上,有256KB和2MB的阀值 更多的值可能显著的减慢内分分配, 你应该考虑下面中的那些值。