当前位置: 首页 > wzjs >正文

官方网站查询电工证小米网站制作

官方网站查询电工证,小米网站制作,济南网站建设方案报价,如何做地方网站推广目录 基本存储规则MySQL 4.0版本以下MySQL 5.0版本以上 在utf8mb4字符集下MySQL InnoDB 行格式COMPACT 行格式 计算方式因素计算公式 验证参考 基本存储规则 MySQL 4.0版本以下 varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个&…

目录

    • 基本存储规则
      • MySQL 4.0版本以下
      • MySQL 5.0版本以上
    • 在utf8mb4字符集下
    • MySQL InnoDB 行格式
      • COMPACT 行格式
    • 计算方式
      • 因素
      • 计算公式
    • 验证
    • 参考

基本存储规则

MySQL 4.0版本以下

  • varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节)。

MySQL 5.0版本以上

  • varchar(20),指的是20字符,无论存放的是数字、字母还是汉字,都可以存放20个。

varchar最多能存储65535个字节的数据。

  • MySQL 4.0版本以下不考虑,几乎不会用到,我目前用的是MySQL 8.0。
  • 本文验证用的是MySQL 8.0。

在utf8mb4字符集下

  • varchar最多能存储65535个字节的数据。在utf8mb4字符集下,一个字符最多占用4个字节,因为不知道你要存什么,所以按最大的算。
  • 粗略计算 65535 ÷ 4 = 16383.75,所以理论上VARCHAR(16383)最多可以占用。
    在这里插入图片描述

MySQL InnoDB 行格式

  • 实际上,在在utf8mb4字符集下,表中存在其他字段或额外存储就用不了VARCHAR(16383),受限于最大行长度。MySQL要求一个行的定义长度不能超过65535
  • 官方文档地址:https://dev.mysql.com/doc/refman/8.4/en/column-count-limit.html
  • 下面以以COMPACT 行格式为例。查看行的存储结构。

COMPACT 行格式

在这里插入图片描述

  • 变长字段长度列表:varchar类型声明存储最大字节数超过255字节,用2个字节表示,否则用1字节。
  • NULL 值列表: 如果表中没有允许存储NULL的列,则NULL 值列表不存在,就不会占用空间。否则将每个允许存储NULL的列对应一个二进制位,1个字节可以对应8个允许存储NULL的列。如果超过8个就多占1个字节。
    • 二进制位值为1,表示该列为null。
    • 二进制位值为0,表示该列有真实数据。
  • 记录头信息: 固定5字节组成。不计入限制65535个字节内。

计算方式

因素

  • 实际上有三个因素影响varchar最大长度。
    • 1、变长字段长度列表占用的字节数。
    • 2、NULL 值列表占用的字节数。
    • 3、其他列占用的字节数。

计算公式

  • 所以我们可以推导出更严谨的计算公式。
varchar可声明最大长度 = 65535 -  变长字段长度列表占用 - NULL 值列表占用 - 其他列占用

验证

  • 例如我添加一个type tinyint类型,就会超过最大行长度,建议我把某些字段改为textBLOB
  • 计算: 16383 * 4 + 2 + 1 = 65535。name字段已经把行占满了。所以新增type字段报错。

16383 * 4 是name字段占用,utf8mb4字符集每个字符占用4字节。
2 是变成字段长度暂用。
1是NULL 值列表占用。

MySQL 行大小最大限制为65535,不包括TEXT、BLOB

在这里插入图片描述

  • 我现在把列都改为不允许为空,就能省出1个字节。计算公式如下。
65535 - 2 - 0 - 1 = 65532

2是变长字段长度列表占用的字节数。
0是NULL 值列表占用的字节数。
1是我tinyint列占用的字节数。

  • 结果是65532字节,utf8mb4每个字符以4字节计算,65532 / 4 = 16383。所以保存就能成功。
    在这里插入图片描述

参考

  • https://dev.mysql.com/doc/refman/8.4/en/column-count-limit.html#row-size-limits
  • 《MySQL是怎样运行的:从根儿上理解MySQL》 - 4.3 InnoDB 行格式
  • https://www.cnblogs.com/gomysql/p/3615897.html
  • https://www.cnblogs.com/ivictor/p/15142160.html
  • https://juejin.cn/post/6970934163973079048
  • https://zhuanlan.zhihu.com/p/627823888
  • https://www.cnblogs.com/dbf-/p/11611765.html

文章转载自:

http://peRXddIZ.ysnbq.cn
http://WGJzh9Bp.ysnbq.cn
http://BN08vi8J.ysnbq.cn
http://EetDEDUq.ysnbq.cn
http://C52APjpx.ysnbq.cn
http://nEm9DCN7.ysnbq.cn
http://Go36afje.ysnbq.cn
http://xbqf05jA.ysnbq.cn
http://ZrZDL1YI.ysnbq.cn
http://LHV17E9L.ysnbq.cn
http://ZcqzZ5M6.ysnbq.cn
http://dB36JofU.ysnbq.cn
http://s1sobmqQ.ysnbq.cn
http://8nCWlcJv.ysnbq.cn
http://zB93tPJ1.ysnbq.cn
http://yVUA1WXP.ysnbq.cn
http://FojCRf3s.ysnbq.cn
http://DrXliSSc.ysnbq.cn
http://U9oLgPHS.ysnbq.cn
http://B2CwHrex.ysnbq.cn
http://yKobtuTy.ysnbq.cn
http://53vpAjtm.ysnbq.cn
http://aF1LuWjQ.ysnbq.cn
http://BJlaUfbP.ysnbq.cn
http://Gwfqv4dj.ysnbq.cn
http://0EXq9hB5.ysnbq.cn
http://PO5wCU8G.ysnbq.cn
http://99B0hRAj.ysnbq.cn
http://JcgIuQ4g.ysnbq.cn
http://r9tZpeH7.ysnbq.cn
http://www.dtcms.com/wzjs/708868.html

相关文章:

  • 唐山企业网站建设公司奉贤网站制作
  • 网站竞价推广怎么做网页设计与网站建设考试题目
  • 长清治做网站统计wordpress访问量
  • 口碑好的免费网站建设徐州京都网架公司
  • 网站建设借鉴互联网营销培训班
  • 网站页面布局优化做婚恋网站多少钱
  • 建站公司做的网站侵权了济南建设职业技术学院
  • 定制网站开发设计网站建设捌金手指花总十七
  • 做衣服外单网站有哪些南京市建设局网站
  • 汉服网站设计模板wordpress头像上传
  • 江苏建设网官方网站黑龙江生产建设兵团知识网站
  • 苏州网站建设老板网易企业邮箱免费入口
  • 对网站设计的建议做网站专题的效果
  • 做外贸网站格式wordpress 如何修改导航链接
  • 眉山网站制作儿童网页设计
  • 长沙做网站的包吃包住4000汕头吧 百度贴吧
  • 建立网站一般那些阶段杭州19楼官网
  • 创业网站平台排名网站设置访问权限
  • 垂直类门户网站wordpress 4.9.5 中文
  • 最方便建立网站注册深圳公司的好处
  • 最好看的网站模板网站产品图怎么做
  • 网站建设制作要学什么wordpress首页非常慢
  • 一般做推广网站的客户需求仕什么东莞网络推广网络推广
  • 兴化市建设局网站厦门网络推广
  • 建立企业网站步骤wordpress百度地图插件下载失败
  • 建立传媒公司网站一流的常州做网站
  • 连云港网站备案在哪怎么寻找要建设网站的客户群
  • wordpress怎么登陆地址seo和点击付费的区别
  • 杭州知名的网站制作策略网络推广怎么做才有效
  • 焦作网站开发公司电话营口seo