MySQL社区

标题: mysql做group by时,配置哪些参数,可以保证不会写磁盘? [打印本页]

作者: annnn    时间: 2010-3-6 20:16
标题: mysql做group by时,配置哪些参数,可以保证不会写磁盘?
一个简单的例子:
myisam存储引擎,表里有约2M条记录,每条记录8个整形字段,磁盘文件大概占64MB。表上没有任何索引。执行 “select a, b, c, d, sum(e), sum(f), sum(g), sum(h) from table”。(a,b,c,d)没有重复,即结果集很大。

执行时间很长,大概几分钟之后,才开始返回结果。返回结果前,有相当长的时间里,处理器比较空闲,io等待比例很大,而且只是磁盘写操作,但写带宽并不大。机器内存远大于64MB,但还是用了磁盘写?

针对这个特定场景,调整哪些参数,调整成多少,可以完全避免磁盘写?
我尝试myisam_sort_buffer_size, sort_buffer_size, tmp_file_size调成128MB,效果还是没有改变。
作者: kider    时间: 2010-3-8 18:21
用Limit 诊断一下问题
explain看看执行计划




欢迎光临 MySQL社区 (http://mysqlpub.com/) Powered by Discuz! X3.2