2010-08-29 48 views

回答

4

手冊頁Data Type Storage Requirements更詳細地描述了MyISAM引擎的每種數據類型的存儲需求。

Data Type Storage Required 
CHAR(M)  M × w* bytes, 0 <= M <= 255 
VARCHAR(M) L + 1 bytes if column values require 0 – 255 bytes 
      L + 2 bytes if values may require more than 255 bytes 
TINYTEXT L + 1 bytes, where L < 2^8 
TEXT  L + 2 bytes, where L < 2^16 

* w是在字符的最大長度的字符所需要的字節數在結論設置

所以爲字符串存儲在文本列所需的存儲的字節數依賴於字符串的長度。這與CHAR(100)不同,不管存儲的字符串的長度如何,都需要相同的存儲量。

+0

我認爲用戶是指MySQL中的'TEXT'類型,在http://dev.mysql.com/doc/refman/5.1/en/blob.html中有描述。 – MvanGeest 2010-08-29 21:00:18

+0

我認爲用戶實際上是指'TEXT'類型,而不是'CHAR'或'VARCHAR'(儘管手冊中說'TEXT'在大多數方面可以被視爲'VARCHAR')。 – MvanGeest 2010-08-29 21:03:01

+0

哦,我明白你的意思了,他特別想知道TEXT列的類型。我沒有注意到它在標題中被大寫(我正在回答基於問題的主體)。我會更新我的答案,使其更具體。 – 2010-08-29 21:03:05