代码之家  ›  专栏  ›  技术社区  ›  Jader Dias

在64位系统中,32位列比64位列占用更少的空间?

  •  5
  • Jader Dias  · 技术社区  · 16 年前

    在64位操作系统上运行的mysql中,每列至少占用64位?一个位会占用整个字节?还是一个字?

    2 回复  |  直到 16 年前
        1
  •  3
  •   iffy    16 年前

    以下是我 认为 你要找的是:

    http://dev.mysql.com/doc/refman/5.5/en/storage-requirements.html

    “根据所讨论的表所使用的存储引擎,数据的存储要求各不相同。不同的存储引擎使用不同的方法来记录原始数据和不同的数据类型。此外,有些引擎可能会以列或整行为基础压缩给定行中的信息,从而使计算给定表或列结构的存储要求[困难]。”

    每列至少占用64位?

    你的意思是列还是行?我想你是指划船,但我不完全确定。我不太明白为什么你需要知道列描述的大小,因为它占用了O(1)空间…

    一个位会占用整个字节?还是一个字?

    记忆中: 不确定-我倾向于用一个完整的词来比较,但我真的不知道。除非你说的是使用内存存储引擎,在这种情况下…

    在磁盘上: 它确实取决于您的存储引擎(如mdma所说),而行大小则因您的存储引擎和字符集而有很大的不同。例如,上面链接的文章解释了myisam所做的一些优化,这些优化是为了记录每行所需的少量位。

        2
  •  2
  •   Evert    16 年前

    磁盘上是32位的。我不知道内存,但我知道32位数字将被提升到64位进行比较(即使在32位系统上,这也会给64位系统带来一点提升)。