MYSQL單行長度不能超過 65535

green_hand發表於2022-10-10

報錯:Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535.

mysql屬於關係型,行式資料庫, 規定單行長度不能超過65535一點都不過分。 你想當你超過65535後, 查詢的iops怎麼撐得住。

某表已存在100個欄位,在新增3個欄位時,報如下錯誤:

經排查發現MySQL預設規定一條記錄的最大長度不能超過65535。

(1)單個欄位如果大於65535,則轉換為TEXT 。

(2)單行最大限制為65535,這裡不包括TEXT、BLOB。

例如一個表中有三個varchar欄位長度30000,那麼這個表的單行長度為:30000*3=90000,

大於65535則報錯不能建表,這裡乘以3是因為資料庫用的utf8編碼,3個位元組表示一個字元。

本次處理方式:新增一張表。

備註:

1、注意大表根據業務垂直拆分

2、注意控制欄位長度,不要隨意設定

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章