MySQL Innodb 存储引擎空字符、数字0、null个需要占用多少硬盘字节
比如一个 user_id int
字段,如果 user_id
为 null
,innodb
会预留 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