我刚刚在文档中注意到,在MySQL大于5.0.3的版本中,你可以使用大于255的值来声明varchar.过去我已经将数据类型切换为大于255的任何值,但我想知道现在是否更好的练习使用varchar(1000)或任何适当的长度定义更大的字符串值.
这现在也与其他数据库一样常见,或者最好坚持使用255作为最大值并更改数据类型?
在我看来,我会劝阻接近.当您需要超过255个字符时,使用TEXT更合适一些.
更新: VARCHAR现在限制为65535字节,但MySQL中的一行不能包含超过65535字节.
你必须知道VARCHAR和这样的字段直接存储到你的数据库中,例如TEXT将存储在行之外,为什么行内的指针链接到它.
因此,如果您想使用大型VARCHAR,请确保它们不会太大并且不会干扰行中的其余数据.
例如,拥有多个可容纳65K字符的VARCHAR字段将是一个坏主意.
该VARCHAR列限制为65,535字节,并不总是表示65,535个字符,具体取决于您使用的字符集.
如果您使用latin1每个字符一个字节的字符集,则不会遇到任何问题,因为字符串的长度与所需的存储量相同.
如果使用存储多字节字符的字符集,则只能将长度设置为字符集允许的长度.例如,utf8字符集的最大长度为21,844个字符.
正如@Eric指出的答案所暗示的那样,VARCHARs存储在表中,而TEXTs存储在单独的文件中-设计表结构时必须记住的唯一真正重要的一点是行大小限制(MySQL限制了每一行) /记录到65 KB)。
我建议您将VARCHAR用作“单行代码”-任何具有文本输入作为其数据源的东西。
| 归档时间: |
|
| 查看次数: |
7598 次 |
| 最近记录: |