存储varchar所需字节

存储字段类型为 varchar(n) 的数据时,其实分成了三个部分来存储:

  • 真实数据占用字节数
  • 变长字段长度列表占用字节数:即是所有「变长字段长度」占用的字节数之和
    • 每个变长字段的「变长字段长度」需要用多少字节表示?
      • 条件一:如果变长字段允许存储的最大字节数小于等于 255 字节,就会用 1 字节表示「变长字段长度」
      • 条件二:如果变长字段允许存储的最大字节数大于 255 字节,就会用 2 字节表示「变长字段长度」
  • NULL 标识,如果不允许为NULL,这部分不需要;允许为空的字段每有 8 个需要占用额外的 1 字节