爲什麼許多開發人員在創建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