首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"MySQL错误代码1114:表已满“不断出现

"MySQL错误代码1114:表已满“不断出现
EN

Stack Overflow用户
提问于 2021-04-20 09:25:38
回答 1查看 615关注 0票数 1

我在WindowsServer2019上运行MySQL 8.0.23。两张表:

代码语言:javascript
复制
CREATE TABLE `tblp` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `datum` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`),
  KEY `index_dat` (`datum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

代码语言:javascript
复制
    CREATE TABLE `tblpdet` (
        `id` int unsigned NOT NULL,
        `katbr` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `redid` int unsigned NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`redid`),
  KEY `Index_2` (`id`),
  KEY `idx_katbr` (`katbr`),
  CONSTRAINT `FK_tblpdet_1` FOREIGN KEY (`id`) REFERENCES `tblp` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

现在,如果我执行:

代码语言:javascript
复制
select katbr, min(date(datum)) 
from tblp p 
join tblpdet d on p.id = d.id
group by katbr;

我搞错了

错误代码: 1114。表“d:\tmp#sql1e5c_18_1eb”已满

如果我执行:

代码语言:javascript
复制
select katbr, min(redid)
from tblpdet 
group by katbr;

那它就能正常工作。

结果应该返回大约120.000行。

以下是与此问题相关的全球设置:

代码语言:javascript
复制
> innodb_data_file_path=ibdata1:12M:autoextend
> innodb_buffer_pool_size=51539607552

表tblp大约有5.800.000行,tblpdet有43.000.000行。MySQL的数据文件夹位于SSD (镜像)驱动器上,有800 of的空闲空间。内存总数为128 20;机器有2个处理器,总共有20个核心,只运行MySQL (目前)。

我所读到的一切都以“磁盘空间不足”或innodg_data_file_path配置错误而告终。有人帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2021-04-23 17:26:12

第一篇文章,所以要仁慈。

我也有类似的问题(错误代码: 1114 )。表'/tmp/#sql2cc_b_3e‘已满),可以选择和连接具有排序和分组的大型数据集。问题出现在8.0.24,但不存在8.0.22或更早。

我通过导出8.0.24中的数据库(其中我收到了错误)并导入到8.0.20中,成功地运行了相同的查询,从而测试了这一点。然后,我在没有将任何其他设置更改为8.0.24的情况下进行了更新,同样的查询也失败了。我还做了一个8.0.24的新安装,并在那里收到了错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67176099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档