我試着創建一個表,並得到了「行大小太大」的錯誤。沒問題,我只是將一些大的VARCHAR字段改爲TEXT,並且它工作正常。但是現在我不知道我有多接近行大小限制。如何確定表格的最大行大小?如何獲得MySQL行的最大大小?
MySQL版本:5.5。
我試着創建一個表,並得到了「行大小太大」的錯誤。沒問題,我只是將一些大的VARCHAR字段改爲TEXT,並且它工作正常。但是現在我不知道我有多接近行大小限制。如何確定表格的最大行大小?如何獲得MySQL行的最大大小?
MySQL版本:5.5。
這取決於使用存儲引擎,並選擇該表的行格式,也是你的指標。這很難計算,因爲數據庫能夠不斷改變其結構。
但VARCHAR,TEXT和BLOB是可變長度的數據類型,它有一個length屬性,但該值可以是空的;計算可能不準確。看看information_schema.tables
中的Avg_row_length
字段。
MySQL documentation on row-size limits有一些粗略的指導方針可能有幫助。
請記住,字節和字符不等效。 UTF-8類型表中的VARCHAR(255)
將計爲每個字符多於一個字節。默認情況下,保留三個字節。
我希望有更多更好的東西,但是發佈的鏈接中的腳本已經足夠接近我想要的了。謝謝。 –
@MikeBaranczak謝謝 – RTB