11

为什么这么多开发人员在创建 MySQL 表时将 varchar 设置为 254 而不是 255?

证明这种情况发生:mysql varchar 254

4

2 回答 2

13

您的 Google 查询已经为您提供了提示。第一个热门是这样的:

https://www.vbulletin.com/forum/project.php?issueid=32655

它基本上说,FULLTEXT索引VARCHAR(255)需要两倍于全文索引的空间VARCHAR(254)。除此之外还有一些其他的膨胀。

我认为这比在数据表中保存一个字节重要得多。

于 2012-04-06T13:05:29.253 回答
6

varchar 字段对于小于或等于 255 的字段需要 n+1 个字节,对于大于 255 的字段需要 n+2 个字节

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

它应该设置为 255,我假设开发人员认为他们会从 254 中节省一个额外的字节,但 255 是标准

于 2012-04-06T12:47:53.467 回答