MySQL:为什么varchar(254)而不是varchar(255)?

BaU*_*aUn 11 mysql database varchar

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

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

A.H*_*.H. 13

您的Google查询已经提供了提示.首批点击之一是:

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

它基本上说,FULLTEXT索引VARCHAR(255)需要两倍的VARCHAR(254)FULLTEXT索引空间.还有一些其他的臃肿.

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

  • 现在链接已死。 (2认同)

Kei*_*ith 6

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

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

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