我遇到了这个问题"你的创业盘几乎已满了#34;当我执行
时,有关此mac的存储空间显示16GB可用空间SELECT COUNT(DISTINCT(col_name1)), col_name2
FROM table_name
GROUP BY col_name2;
处理最多5g数据表的简单查询。 这是EXPLAIN信息:
id,select_type,table,type,possible_keys,key,key_len,ref,rows,Extra
' 1',' SIMPLE',' patients_disease_drugs',' ALL',NULL,NULL,NULL,NULL,&#39 ; 12808761','使用filesort'
顺便说一句,我已经检查了col_name1已经在这个表的INDEX中被覆盖了。
这个查询需要多大的空间(超过16G ???)。有什么建议可以解决吗?
答案 0 :(得分:0)
一旦我将所有变量类型更改为可以求助于INDEX以提高查询性能的INT relatd类型,它最终会起作用,但是严重的是为什么这个查询花费了这么多空格。还是想知道答案......
答案 1 :(得分:0)
我猜测您的查询可能在tmp目录中的磁盘上创建了一个临时表并占用了所有可用空间。
尝试在(col_name1,col_name2)或(col_name2,col_name1)上添加索引,并查看是否减轻了磁盘上临时表的要求。