gpt4 book ai didi

MySQL添加ORDER BY时报错126

转载 作者:行者123 更新时间:2023-11-29 03:30:21 25 4
gpt4 key购买 nike

我正在尝试解决我一直遇到的问题。我的表中只有大约 100 万条记录,并且进行大约 10 次连接。

我不打算发布查询,因为我真的不认为这是问题的一部分。基本上,如果没有 ORDER BY m0_.id 子句,查询将在 0.0056 秒内运行并返回结果。这还不错。但是当我添加 ORDER BY 时,查询失败并出现以下错误:

#126 - 表 '/tmp/#sql_527_0.MYI' 的 key 文件不正确;尝试修复它

所以我一直在阅读,显然大部分时间,这个问题都与空间有关。但那不可能(可以吗?),因为我有 30Gb 的免费空间,而整个数据库 只有 200Mb。所以我更进一步,找到了 sort_buffer_size 选项。所以我运行了 SET GLOBAL sort_buffer_size = 18446744073709551615apparently是我平台的最大值。果然,运行 SHOW VARIABLES LIKE 'sort_buffer%'; 返回

+------------------+----------------------+
| Variable_name | Value |
+------------------+----------------------+
| sort_buffer_size | 18446744073709551615 |
+------------------+----------------------+
1 row in set (0.00 sec)

我什至尝试将查询限制为 1 个结果,但没有成功。

有什么想法吗?

最佳答案

我认为您最好创建此表的克隆,然后重命名它们:

  1. 获取建表查询:

    显示创建表表名;

  2. 从 (1) 步将 table_name 更改为 table_name_new 运行查询

  3. 将数据从源复制到新的:

    INSERT INTO table_name_new VALUES (SELECT * FROM table_name);

  4. 尝试使用 table_name_new 进行选择

或尝试在不添加 ORDER BY 的情况下为您的繁重查询创建 VIEW:

CREATE VIEW view_heavy_query AS HERE GOES YOUR HEAVY QUERY WITH JOINS;

然后像这样查询:

SELECT * FROM view_heavy_query ORDER BY field;

关于MySQL添加ORDER BY时报错126,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31472667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com