我已经创建了一个sql表,我在磁盘上创建了索引文件。 桌上有超过100万条记录。 我已经添加了ext和size的索引,但是它仍然需要一分钟才能执行这个查询,它告诉我ext使用的空间量。 如何提高此选择的性能?mysql:我该如何提高这个mysql select语句的性能
select ext,
ROUND((sum(size)/(1073741824))) as TotalSizeGB,
count(*) as Count
from fileindex
group by ext
order by TotalSizeGB desc;
Explain输出:
|| *id* || *select_type* || *table* || *type* || *possible_keys* || *key* || *key_len* || *ref* || *rows* || *Extra* ||
|| 1 || SIMPLE || fileindex || index || _NULL_ || ext || 27 || _NULL_ || 1892234 || Using index; Using temporary; Using filesort ||
你能告诉我们的查询计划吗?使用EXPLAIN http://dev.mysql.com/doc/refman/5.5/en/explain.html – 2011-02-22 18:41:19
我不认为你可以改善它,因为它加载**全部**表中的数据。 – Augusto 2011-02-22 18:49:53
@augusto除非在`ext`上缺少可用于执行分组的索引 – 2011-02-22 18:52:01