varchar(n)中的n爲什麼要設的儘量小

主要原因有兩個:
1、MySQL的一個Row的不包含Text和Blob的最大長度是65535。
如:你建一個表,存在這樣兩個字段:varchar(35000), varchar(48000)是無法創建的。會得到如下提示:
錯誤代碼: 1118
Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs。


2、在進行排序和創建臨時表一類的內存操作時,會使用n的長度申請內存。

如:varchar(5)和varchar(100)相比,後者申請的內存近似是前者的20倍。

發佈了55 篇原創文章 · 獲贊 5 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章