【问题标题】:Int data type storage always 4 bytes?int数据类型存储总是4个字节?
【发布时间】:2017-05-19 22:55:11
【问题描述】:

快速问题在 MySQL 中使用 INT 总是会导致 4 字节的存储,无论值如何,例如值 5 使用的字节数是否与 2000000 相同?

或者数据类型存储是最大存储吗?

【问题讨论】:

  • 我认为您可以假设 MySQL INT 值将始终占用(至少)磁盘上的 4 个字节。压缩INT 字段的额外性能成本和复杂性太大,压缩无益。

标签: types integer storage sqldatatypes


【解决方案1】:

我很确定大小不取决于值。

【讨论】:

  • 这就是我的想法,只是想了解我是否应该使用 INT 或 BIGINT 作为事务表上的事务 id,由于存储要求,共识是它应该是 INT 但我可以看到最大数量将在未来用尽,所以只是想在未来证明它
  • 所以我想你正在处理大量 GB 的数据
  • 如果您现在考虑可以存储 2147483647 个 id 直到 int 用完,而 bigint 是 int (8byte) 的两倍,那么您会浪费 2147483647 * 4byte 的空间,因为在 int 用完后您需要它如果我没记错的话,大约是 8.5GB 的空间,我想这是值得的但我不知道具体情况,我个人对这么多数据不是很有经验
  • 使用 unsigned 你从一个 int 中得到一个最大值 4294967295,这仍然很大,不要误会我的意思,我不会处理这么多的数据,但是当表被清除时我仍然需要将事务 ID 设为唯一,所以我唯一的想法是增量?在未来的几年和几年中,我可能会用尽最大数量的 BIGINT 无符号 18446744073709551615 极不可能但有可能,到那时我无论如何都会改变系统。但也不想浪费空间。
  • 老实说,我不知道无符号数据类型是 SQL 中的一个东西。但是好的,现在还有问题吗?如果还有问题,我真的不明白,你知道你可能会用完,但你关心空间,所以你必须决定什么对你更重要。我个人会选择 int,但正如我已经提到的,我不知道具体情况,所以我不知道什么适合你
猜你喜欢
  • 2014-11-30
  • 2022-09-30
  • 1970-01-01
  • 2020-03-03
  • 2021-09-15
  • 2016-06-21
  • 2019-01-29
  • 2020-12-21
  • 1970-01-01
相关资源
最近更新 更多