mysql中表错误的密钥文件不正确

时间:2012-07-06 09:15:29

标签: mysql

我有一张包含1400万行的巨大表格。所有varchar数据。我正在尝试运行此查询。我快速得到输出。限制仅在800K记录上设置。

SELECT *
FROM (SELECT unique_user_id, url, count(url) as url_visit_count, categories, count(categories) as count 
FROM ph_usertrack_data GROUP BY unique_user_id LIMIT 800000) a 
ORDER BY a.url_visit_count DESC LIMIT 100;

当我将限制设置为100万条记录时,我收到此错误

Incorrect key file for table '/tmp/#sql_6663_0.MYI'; try to repair it

我的临时文件夹有大约100 GB的空间,所以没有空间问题。为什么当我增加要处理的行数时会出现此问题?

1 个答案:

答案 0 :(得分:1)

我认为这应该有所帮助 -

  

您可以使用df -h检查\ tmp是否在其自己的分区中,以及   分配了多少空间。

     

如果它在自己的分区中且空间不足,您可以:

     

(a)修改/ tmp以使其分区有更多空间(或者通过   重新分配或移动到主分区 - 例如见这里)(b)   更改MySql配置,以便它在a上使用不同的临时文件夹   不同的分区,例如/ var / tmp中

也请参阅herethis