当前位置:网站首页>MySQL - Row size too large (> 8126). Changing some columns to TEXT or BLOB
MySQL - Row size too large (> 8126). Changing some columns to TEXT or BLOB
2022-08-04 05:36:00 【放羊的牧码】
报错信息
Row size too large (> 8126). Changing some columns to TEXT or BLOB
分析原因
- 因为 mysql 默认的 page 最大是 16k,而 page 中单行最大不能超过 8k
- 因为 text 或者 blob 字段太多也会导致一行数据大于 8k,因为 innodb 默认的 approach(羚羊)存储格式会把每个 blob 字段的前 864 个字节存储在 page 里。这样的话一旦有很多个text 或者 blob字段,还是有可能超过 8k
解决方案
1、可以尝试将 varchar 字段改成 text 或者 blob
2、表结构需要重新设计,减少字段个数
3、修改配置方案1
SET INNODB_STRICT_MODE = 0;
4、修改配置方案2
SET GLOBAL innodb_file_format='Barracuda'
SHOW GLOBAL VARIABLES LIKE '%file_format%';
ALTER TABLE 表名 ROW_FORMAT=COMPRESSED
SHOW TABLE STATUS LIKE '表名'
边栏推荐
- Implementation of ICEEMDAN Decomposition Code in MATLAB
- 手把手教你Charles抓包工具使用
- IoU, GIoU, DIoU and CIoU in target detection
- 代码小变化带来的大不同
- 子空间结构保持的多层极限学习机自编码器(ML-SELM-AE)
- 数据库技巧:整理SQLServer非常实用的脚本
- DOM的12中节点类型,通过关系或方法获取DOM节点,渲染到浏览器页面的一些特效功能,获取DOM节点来改变属性,点击图片,切换为所点击的图片为背景图,页面上的表单验证,点击底部导航栏切换界面
- Time Series Forecasting Based on Reptile Search RSA Optimized LSTM
- 舍不得花钱买1stOpt,不妨试试这款免费的拟合优化神器【openLU】
- 天鹰优化的半监督拉普拉斯深度核极限学习机用于分类
猜你喜欢
随机推荐
curl (7) Failed connect to localhost8080; Connection refused
舍不得花钱买1stOpt,不妨试试这款免费的拟合优化神器【openLU】
golang 坐标格式 转换 GCJ02ToWGS84
ThreadLocal内存泄漏问题讲解
自适应迁移学习核极限学习机用于预测
ES6新语法:symbol,map容器
Hardware Knowledge: Introduction to RTMP and RTSP Traditional Streaming Protocols
MATLAB版量化交易技术分析工具TA-Lib【不付费也可获取,不要被付费吓跑】
mysql锁机制
子空间结构保持的多层极限学习机自编码器(ML-SELM-AE)
av_read_frame 阻塞,基于回调的解决办法
Memory limit should be smaller than already set memoryswap limit, update the memoryswap at the same
Computer software: recommend a disk space analysis tool - WizTree
如何画好业务架构图。
U-Net详解:为什么它适合做医学图像分割?(基于tf-Kersa复现代码)
Operating System Kernel
为什么不使用VS管理QT项目
VS 2017编译 QT no such slot || 找不到*** 问题
Visualization and Animation Technology (3D Visualization)
狗都能看懂的CenterNet讲解及代码复现