MySQL: Row size too large (> 8126).

2017-09-21 11:19:11 +08:00
 imherer

我有一张 18 个字段的 table,其中有 12 个字段为 text,1 个字段为 int,2 个为 datetime,3 个 varchar(50)

现在更新的时候报 ER_TOO_BIG_ROWSIZE,试过 COMPRESSED 和 DYNAMIC 格式还是同样的问题。应该如何下手解决呢?

innodb_log_file_size 现在设置的是 128M

3178 次点击
所在节点    程序员
9 条回复
xfwduke
2017-09-21 11:48:58 +08:00
合并 text 字段

text/blob 长度较大的时候, 前 700 多字节会被算入 row size。
owenliang
2017-09-21 11:52:01 +08:00
把 text 字段略微的切出去,换到一张扩展表里?
imherer
2017-09-21 11:54:42 +08:00
@xfwduke
@owenliang 现在已经是线上业务了 😂很久了,比较尴尬,要拆表或者修改字段,工作量太大了。就想有没有别的什么修改办法😂
ipconfiger
2017-09-21 11:57:26 +08:00
半夜停机处理啊, 不改不行, 别犹豫了
imherer
2017-09-21 12:21:03 +08:00
@ipconfiger 修改表和字段吗? 看样子只能苦逼的熬夜了
LJ2010
2017-09-21 13:03:59 +08:00
12 个字段为 text.....这表。。。哟,不错哦
Immortal
2017-09-21 13:06:03 +08:00
好奇服务器内存有多大 多几个人请求不是直接炸了
sudoz
2017-09-21 13:15:47 +08:00
这……为啥要存在数据库里……
imherer
2017-09-21 13:22:04 +08:00
@LJ2010
@Immortal
@sudoz
历史遗留问题,我是接盘侠😂😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/392484

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX