2012-12-18 47 views
2

我試着創建一個表,並得到了「行大小太大」的錯誤。沒問題,我只是將一些大的VARCHAR字段改爲TEXT,並且它工作正常。但是現在我不知道我有多接近行大小限制。如何確定表格的最大行大小?如何獲得MySQL行的最大大小?

MySQL版本:5.5。

回答

1

這取決於使用存儲引擎,並選擇該表的行格式,也是你的指標。這很難計算,因爲數據庫能夠不斷改變其結構。

但VARCHAR,TEXT和BLOB是可變長度的數據類型,它有一個length屬性,但該值可以是空的;計算可能不準確。看看information_schema.tables中的Avg_row_length字段。

編輯:看看:Data Type Storage Requirements

+0

我希望有更多更好的東西,但是發佈的鏈接中的腳本已經足夠接近我想要的了。謝謝。 –

+0

@MikeBaranczak謝謝 – RTB

0

MySQL documentation on row-size limits有一些粗略的指導方針可能有幫助。

請記住,字節字符不等效。 UTF-8類型表中的VARCHAR(255)將計爲每個字符多於一個字節。默認情況下,保留三個字節。

相關問題