【问题标题】:MySQL entry and space usedMySQL 条目和使用的空间
【发布时间】:2011-09-19 12:35:11
【问题描述】:

我有一个 MySQL 表,其中包含“varchar(255)”之类的列之一。即使该列为空,数据库是否会使用 255 字节的空间?还是只有当它有一些数据并且使用的空间量与数据成正比时?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    每个单元格将只占用与数据成比例的空间量。 http://dev.mysql.com/doc/refman/5.0/en/char.html

    【讨论】:

      【解决方案2】:

      只有当它有一些数据并且使用的空间量与数据成正比时。

      【讨论】:

        【解决方案3】:

        VARCHAR(M) 需要 N+1 个字节 或更多,具体取决于您要添加的数据的大小。空白字段(空字符串)仍将消耗 1 个字节(即 N+1 上的 +1),用于指示该字段的数据结束的位置 - 因此您有 1 个字节作为终止符。

        来自MySQL's website

        VARCHAR(M), VARBINARY(M)    
            L + 1 bytes if column values require 0 – 255 bytes, 
            L + 2 bytes if values may require more than 255 bytes
        

        其中 L 是数据的长度。在您的情况下,您将在 VARCHAR(255) 字段上消耗 (data length + 1)。

        【讨论】:

          猜你喜欢
          • 2011-06-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-04-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-19
          相关资源
          最近更新 更多