MySQL Innodb 存储引擎空字符、数字0、null个需要占用多少硬盘字节

MySQL Innodb 存储引擎空字符、数字0、null个需要占用多少硬盘字节

比如一个 user_id int 字段,如果 user_idnullinnodb 会预留 4 字节硬盘位置,还是直接一点不给,会直接 0 字节硬盘占用?

如果把 int 换成 string:

比如 name varchar(16)content varchar(4096) 字段,值为 '' 空字符需要占用硬盘几个字节?如果是 null 需要占用硬盘几个字节?


同样的问题:

  • 如果是 postgresql 答案又是如何?
  • 如果是 sql server 答案又是如何?
  • 如果是 oracle 答案又是如何?


回答:

根据我的了解 这个涉及到InnoDB的行格式 ROW_FORMAT存储方面的问题
user_id int 类型的,如果 user_id 为 null,应该是会用1bit来记录这个字段为NULL 就不会再预留4byte 直接一点不给了

以上是 MySQL Innodb 存储引擎空字符、数字0、null个需要占用多少硬盘字节 的全部内容, 来源链接: utcz.com/p/938413.html

回到顶部