2014-02-28 62 views
0

我在網上看到一個文本記錄相當於64kb。我的問題是:如果我只將一個字符插入記錄中,它是否會佔用64kb或更少的所有字符?我問這個是因爲我認爲我不需要所有的64kb,但可能更少。 預先感謝您MySQL:文本佔用多少空間?

+0

原諒我...我只會粘貼文檔:http://dev.mysql.com/doc/refman/5.1/en/storage-requirements.html –

+1

不,一個字符只需要幾個字節。公式爲:當L是文本的長度時,L + 2個字節。因此,平裝書的標準頁面將佔用大約2KB的存儲空間。 –

+0

會發生什麼情況是你的字符串/文本被寫入,另外兩個字節被粘貼在最後。這2個字節包含你寫下的文本的長度和最大值。可以存儲在2個字節中的數字是2^16 = 65536,這是64KB限制的來源。這是優化,所以不,它不是整個64kb分配,它的長度(文本)+ 2個字節。 –

回答

0

的四個文本類型是TINYTEXT,TEXT,MEDIUMTEXT和LONGTEXT

  • 對於TINYTEXT:(在給定的字符串值的字節實際長度)+(1個 字節)
  • 對於文本:(在給定的字符串值的字節實際長度)+(2 字節)
  • 對於MEDIUMTEXT:(在給定的字符串 值的字節實際長度)+(3個字節)
  • 對於LONGTEXT:(在給定的 字符串值的字節實際長度)+(4個字節)

尾隨空間不被考慮用於存儲或檢索。

更多信息:Storage Requirements for String Types(GarciaPL剛纔提到它:))

希望它能幫助!