最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQLvarchar计算:求列的数目和计算N的最大值_MySQL

来源:动视网 责编:小采 时间:2020-11-09 18:48:14
文档

MySQLvarchar计算:求列的数目和计算N的最大值_MySQL

MySQLvarchar计算:求列的数目和计算N的最大值_MySQL:bitsCN.com MySQL varchar计算:求列的数目和计算N的最大值 有道面试题:若一张表中只有一个字段VARCHAR(N)类型,utf8编码,则N最大值为多少先明白计算的一些规则 ① 存储 需要额外地在长度列表上存放实际的字符长度:小于255为1个字节,大于2
推荐度:
导读MySQLvarchar计算:求列的数目和计算N的最大值_MySQL:bitsCN.com MySQL varchar计算:求列的数目和计算N的最大值 有道面试题:若一张表中只有一个字段VARCHAR(N)类型,utf8编码,则N最大值为多少先明白计算的一些规则 ① 存储 需要额外地在长度列表上存放实际的字符长度:小于255为1个字节,大于2


bitsCN.com

MySQL varchar计算:求列的数目和计算N的最大值

有道面试题:若一张表中只有一个字段VARCHAR(N)类型,utf8编码,则N最大值为多少?

先明白计算的一些规则

① 存储

需要额外地在长度列表上存放实际的字符长度:小于255为1个字节,大于255则要2个字节

② 编码

gbk:每个字符最多占用2个字节

utf8:每个字符最多占用3个字节

③ 长度

MySQL定义行的长度不能超过65535,这个了列的数目,比如char(255) utf8

那么列的数目最多有65535/(255*3)=85,列的数目可以从这里得到依据

行长度计算公式如下:

row length = 1 + (sum of column lengths) + (number of NULL columns + delete_flag + 7)/8 + (number of variable-length columns)

① 对于MyISAM,需要额外1个位来记录值是否为NULL;对于InnoDB,没有区别

② 对于row_format为fixed,delete_flag为1;对于row_format=dynamic,delete_flag为0

根据这个公式,我们便能够解答开头N的最大值:(65535-1-2)/3

减1是因为实际存储从第2个字节开始

减2则因为要在列表长度存储实际字符长度

除3是因为utf8编码

bitsCN.com

文档

MySQLvarchar计算:求列的数目和计算N的最大值_MySQL

MySQLvarchar计算:求列的数目和计算N的最大值_MySQL:bitsCN.com MySQL varchar计算:求列的数目和计算N的最大值 有道面试题:若一张表中只有一个字段VARCHAR(N)类型,utf8编码,则N最大值为多少先明白计算的一些规则 ① 存储 需要额外地在长度列表上存放实际的字符长度:小于255为1个字节,大于2
推荐度:
标签: 数量 mysql 最大值
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top