- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道限制行大小将使大小保持在设定的最大值,但是,如果我将所有行限制为其所需的最大值,是否会提高行的性能(即占用更少的空间)
或者mysql是否动态分配行所需的大小并且最大行长度对其没有影响?
最佳答案
MySQL 不会动态调整字段大小;潜在所需的大小取决于您选择的数据类型。但是,您可以选择适当的数据类型来帮助优化数据库。
例如,TINYINT
、SMALLINT
、MEDIUMINT
、INT
和 BIGINT
code>数据类型分别需要1字节、2字节、3字节、4字节、8字节。如果您只打算存储最多 10,000 的整数,SMALLINT
将是最佳选择,因为它可以存储最多 65,535(无符号)的值,并且有足够的额外空间,并且需要大小的一半INT
。
对于像 VARCHAR
这样的可变长度类型,任何长度不超过 255 的长度都使用一个字节前缀来存储长度。任何更多的内容都使用 2 字节前缀。如果可能的话,最好将 VARCHAR
限制为最多 255 个。例如,字符串 foo
在 VARCHAR(3)
字段和 VARCHAR(255)
字段中都需要 4 个字节。例如,如果字段的最大长度为 500,foo
将需要 5 个字节。
当可能使用短(有时甚至长)文本列时,如果字符串始终具有相同的长度或非常接近的长度,则 CHAR 类型可能会很有用。另外,如果您使用 MyISAM 存储引擎并且所有列都是固定长度,则可以使用 FIXED
行格式,这很有用。
有关 MySQL 数据类型的更多信息,请参阅 manual .
关于mysql - 限制行的大小是否有利于 MySQL 表的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15104093/
我是一名优秀的程序员,十分优秀!