当我想GROUP BY一个查询时,我收到此错误消息:
Incorrect key file for table '/tmp/#sql_623d_0.MYI'; try to repair it
Run Code Online (Sandbox Code Playgroud)
它是一个InnoDB表,有3.000.000条记录和4,3 GiB大.
我跑的时候
repair table mytablename
Run Code Online (Sandbox Code Playgroud)
我收到这条消息:
The storage engine for the table doesn't support repair
Run Code Online (Sandbox Code Playgroud)
优化不起作用.该怎么办?
问题不在于桌子是腐败的.当你做一个分组时,mysql会创建一个临时表.由于表太大,临时表占用的磁盘空间超过10GB.磁盘100%已满时出现错误消息.
我用命令来检查磁盘空间:
df -h /dev/root
Run Code Online (Sandbox Code Playgroud)
所以在MySQL配置(my.ini)中,我将存储临时表的位置(tmpdir)更改为具有足够可用磁盘空间的分区.
现在查询运行成功
| 归档时间: |
|
| 查看次数: |
2491 次 |
| 最近记录: |