Windows上的表的密钥文件不正确

时间:2015-07-31 09:52:22

标签: mysql wampserver

我从其他帖子中看到我遇到的与磁盘空间有关的问题:

Incorrect key file for table 'C:\Windows\TEMP\#sql72c_28e1c_2.MYI'; try to repair it

但是我在C:\驱动器上使用的是带有1.58GB空闲的Windows盒子,而在C:\ Windows \ Temp文件夹中只有44mb的文件。我查询的2dbs的总大小为650mb,查询仅链接12个表。

我正在运行WAMP服务器,所以我的问题除了显而易见的是查询为空间生成了太多数据之外,是否还有其他原因导致此错误发生?

1 个答案:

答案 0 :(得分:1)

如果中间结果集大于MySQL在内存中保留的结果集,则查询将写入临时表(在本例中为C:\ Windows \ TEMP)。 (在查询的EXPLAIN中,这表示为'using temporary')

此特定查询中包含IN()子句,并且更改IN()子句中的值列表意味着我们设法从MySQL中获取错误代码28(空间不足)。

似乎Windows Server分配的空间超出了报告的可用空间,因此驱动器永远不会完全填满。释放C上的空间:使问题完全消失,因为构建临时表时表索引不会被破坏。