我的情况是,我在Amazon EC2实例(MYISAM表)上有一个包含5列的mysql中有35,00,00,000条记录的表。我需要按功能分组执行特定任务的所有列
这是我如何触发查询选择a,b,c,d,sum(f)作为e从表a a,b,c,d其中a和b是整数列,c,d是字符串列。我也将这些列编入索引。我有18GB的可用空间。
但是当我使用explain
查看查询时+----+-------------+-------------+------+---------------+------+---------+------+------ ----+---------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------------+------+---------------+------+---------+------+------ ----+---------------------------------+
| 1 | SIMPLE | TABLE A | ALL | NULL | NULL | NULL | NULL | 35328984 | Using temporary; Using filesort |
+----+-------------+-------------+------+---------------+------+---------+------+----------+---------------------------------+
从概念上讲,我理解如果列被索引,mysql将不会使用临时表。 但解释结果显示索引不用于此查询。 此查询运行了几秒钟,并在抛出错误代码后终止:28提到系统空间不足。
如果我错了,请纠正我,我知道临时表需要比可用空间更多的空间。这是否意味着我需要有额外的空间来满足这个问题?