Mysql varchar型別欄位為什麼經常定義為255
Innodb 儲存引擎的表要建立索引就不能超過767 bytes, utf8 編碼, 255*3 =765 bytes,是能建索引情況下的最大值,utf8mb4編碼,預設字元長度則應該是767除以4向下取整,就是191。
如果設定了innodb_large_prefix,最大長度3072位元組,utf8編碼,1024*3 =3072 bytes,utf8mb4編碼,768*4 = 3072。
MyISAM 如果需要建立索引,不能超過1000 bytes,utf8 編碼, 333*3= 999 bytes是能建索引情況下的最大值, utf8mb4編碼,預設字元長度是1000 除以4, 即250。
https://dev.mysql.com/doc/refman/5.7/en/char.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21374452/viewspace-2847733/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 你知道 Mysql Varchar 型別為什麼人們預設設定 255 嗎MySql型別
- MySQL VARCHAR型別欄位到底可以定義多長MySql型別
- 聯機重定義修改欄位型別(NVARCHAR2->VARCHAR2)型別
- 地理位置經緯度在Mysql中用什麼欄位型別MySql型別
- 如何將varchar2修改為clob型別欄位(使用long過渡)型別
- 欄位管理,為什麼只有新增的時候才自動匹配欄位型別型別
- SqlSugar code first 欄位為列舉型別,預設生成資料庫欄位為bigint如何設定為int型別SqlSugar型別資料庫
- 關於mysql中欄位定義的型別int、tinyint區別MySql型別
- 為什麼阿里巴巴禁止把SimpleDateFormat定義為static型別的?阿里ORM型別
- varchar or blob:欄位型別的儲存和溢位條件型別
- MySQL中欄位型別與合理的選擇欄位型別;int(11)最大長度是多少?varchar最大長度是多少?MySql型別
- MySQL把字串欄位轉換為日期型別進行比較MySql字串型別
- MySQL欄位型別最全解析MySql型別
- MySQL欄位型別小記MySql型別
- 關於mysql設定varchar 欄位的預設值''和null的區別,以及varchar和char的區別MySqlNull
- varchar型別的欄位儲存純數字的排序型別排序
- mysql表操作(alter)/mysql欄位型別MySql型別
- 為什麼Javascript需要型別?JavaScript型別
- [轉]MySQL 欄位型別參考MySql型別
- 為什麼值型別不允許顯式定義無參建構函式型別函式
- [提問交流]onethink 模型欄位為什麼只有在新增時候 能選擇型別模型型別
- 為什麼資料庫欄位要使用NOT NULL?資料庫Null
- 為什麼資料庫表的int型別欄位對映到實體類中要使用Integer型別,而不是int型別?...資料庫型別
- 為什麼阿里巴巴強制要求使用包裝型別定義屬性?阿里型別
- MySQL欄位新增註釋,但不改變欄位的型別MySql型別
- 物件型介面 / 定製操作型別和欄位物件型別
- mysql字元型別varchar()比較MySql字元型別
- [提問交流]建立模型,新增屬性,欄位型別如何設定2位小數的欄位型別模型型別
- 為什麼基本型別可以呼叫方法——以字串為例型別字串
- MySQL中TEXT與BLOB欄位型別的區別MySql型別
- MySQL-去掉不為null的欄位MySqlNull
- 例項操作mysql varchar型別求和MySql型別
- 保留兩位小數:資料庫欄位型別NUMBER,Java欄位型別Double型別資料庫型別Java
- Spring中為什麼不建議使用欄位注入Spring
- mysql變長型別欄位varchar值更新變長或變短底層檔案儲存原理MySql型別
- [譯] 為什麼給設計定義 UX、UI、CX、IA、IxD 和其他型別的頭銜是愚蠢的行為UXUI型別
- 為什麼每個Java的類欄位預設要設為finalJava
- 為什麼阿里巴巴不建議MySQL使用Text型別?阿里MySql型別