为什么许多开发人员在创建MySQL表时将varchar设置为254而不是255?MySQL:为什么varchar(254)而不是varchar(255)?
证明这种情况的发生:mysql varchar 254
为什么许多开发人员在创建MySQL表时将varchar设置为254而不是255?MySQL:为什么varchar(254)而不是varchar(255)?
证明这种情况的发生:mysql varchar 254
VARCHAR字段需要n + 1个字节的字段小于或等于255 和所需的n + 2个字节用于字段> 255
http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html
它应该设置为255,我假设开发人员认为他们会从254节省额外的字节,但255是标准的
您的Google查询已经给您提示。其中第一个命中的是这样的:
https://www.vbulletin.com/forum/project.php?issueid=32655
它基本上说,上VARCHAR(255)
FULLTEXT
指标要求VARCHAR(254)
FULLTEXT指数的两倍空间。还有更多其他的臃肿。
我认为这比保存数据表中的一个字节重要得多。
gud答案,最后我知道它的重要性,thanx分享它。 – 2012-04-06 13:11:45
请记住这是不足够的理由来使用VARCHAR 254,而不是255 VARCHAR。您可以创建索引来保存254个字符而不是255个字符 - 这样,您的列可以保存您需要的所有数据,并且您的索引不会臃肿。另外,这个“bug”应该真正地报告给MySQL服务器团队,以便他们可以调查并修复或解释混淆。 'vbMyAdmin'截图在该vbulletin后没有给我太多的信心... – Konerak 2012-04-06 13:17:20
@Konerak请随意自己做一些实验,并报告结果。但是:即使这种“行为”(不管是否是bug)已经被固定,现在简单使用限制254的习惯将会持续很长时间。人们就是这样。 – 2012-04-06 13:26:14
也许有些人害怕真的会到极限!生活在边缘! :) – 2012-04-06 12:43:57
@Jason_vorhees:我也见过varchar(254),并想知道决策过程是什么。我把它写成“没有;它是任意的愚蠢/疏忽”,但我很乐于犯错。有兴趣听到这个答案。 – tenfour 2012-04-06 12:47:51
我不是形成这些开发商 – 2012-04-06 12:47:56