MySQL在按添加订单时出错126
我在想我一直遇到的一个问题。我的表中只有约100万条记录,并且进行了约10次联接 我不打算发布这个查询,因为我真的不认为这是问题的一部分。基本上,如果没有ORDER BY m0_uz.id子句,查询将在0.0056秒内运行并返回结果。这还不错。但当我添加ORDER BY时,查询失败,出现以下错误: 126-表'/tmp/sql_527_0.MYI'的密钥文件不正确;试着修理它 所以我一直在阅读,显然大部分时间,这个问题都与空间有关。但这不可能,是吗?因为我有30Gb的空闲空间,而整个数据库只有200Mb。所以我更进一步,找到了sort\u buffer\u size选项。所以我运行了SET-GLOBAL-sort\u-buffer\u-size=18446744073709551615,这是我的平台的最大值。果然,运行SHOW变量,比如“sort_buffer%”;返回 我甚至尝试将查询限制为1个结果,但没有骰子MySQL在按添加订单时出错126,mysql,Mysql,我在想我一直遇到的一个问题。我的表中只有约100万条记录,并且进行了约10次联接 我不打算发布这个查询,因为我真的不认为这是问题的一部分。基本上,如果没有ORDER BY m0_uz.id子句,查询将在0.0056秒内运行并返回结果。这还不错。但当我添加ORDER BY时,查询失败,出现以下错误: 126-表'/tmp/sql_527_0.MYI'的密钥文件不正确;试着修理它 所以我一直在阅读,显然大部分时间,这个问题都与空间有关。但这不可能,是吗?因为我有30Gb的空闲空间,而整个数据库只有2
有什么想法吗 我认为您最好创建此表的克隆,然后重命名它们: 获取创建表查询: 显示创建表的名称 从1步运行查询将表\u名称更改为表\u名称\u新建 将数据从源位置复制到新位置: 将新值插入表_name_,从表_name中选择* 请尝试使用表格名称进行选择\u新建 或者尝试通过以下方式创建繁重查询的视图,而不添加订单:
CREATE VIEW view_heavy_query AS HERE GOES YOUR HEAVY QUERY WITH JOINS;
然后执行如下查询:
SELECT * FROM view_heavy_query ORDER BY field;
看起来查询返回了大量的数据和顺序,需要创建临时表,而您没有足够的空间用于临时表。您需要增加/tmp大小。
SELECT * FROM view_heavy_query ORDER BY field;