MYSQL单行长度不能超过 65535

报错:Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535.

mysql属于关系型,行式数据库, 规定单行长度不能超过65535一点都不过分。 你想当你超过65535后, 查询的iops怎么撑得住。

某表已存在100个字段,在新增3个字段时,报如下错误:

经排查发现MySQL默认规定一条记录的最大长度不能超过65535。

(1)单个字段如果大于65535,则转换为TEXT 。

(2)单行最大限制为65535,这里不包括TEXT、BLOB。

例如一个表中有三个varchar字段长度30000,那么这个表的单行长度为:30000*3=90000,

大于65535则报错不能建表,这里乘以3是因为数据库用的utf8编码,3个字节表示一个字符。

本次处理方式:新增一张表。

备注:

1、注意大表根据业务垂直拆分

2、注意控制字段长度,不要随意设置

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!