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型別
- SqlSugar code first 欄位為列舉型別,預設生成資料庫欄位為bigint如何設定為int型別SqlSugar型別資料庫
- 關於mysql中欄位定義的型別int、tinyint區別MySql型別
- 欄位管理,為什麼只有新增的時候才自動匹配欄位型別型別
- 為什麼阿里巴巴禁止把SimpleDateFormat定義為static型別的?阿里ORM型別
- 關於mysql設定varchar 欄位的預設值''和null的區別,以及varchar和char的區別MySqlNull
- MySQL欄位型別最全解析MySql型別
- MySQL把字串欄位轉換為日期型別進行比較MySql字串型別
- mysql表操作(alter)/mysql欄位型別MySql型別
- [提問交流]onethink 模型欄位為什麼只有在新增時候 能選擇型別模型型別
- MySQL欄位新增註釋,但不改變欄位的型別MySql型別
- 為什麼值型別不允許顯式定義無參建構函式型別函式
- 為什麼阿里巴巴強制要求使用包裝型別定義屬性?阿里型別
- 例項操作mysql varchar型別求和MySql型別
- 為什麼資料庫表的int型別欄位對映到實體類中要使用Integer型別,而不是int型別?...資料庫型別
- mysql變長型別欄位varchar值更新變長或變短底層檔案儲存原理MySql型別
- 為什麼資料庫欄位要使用NOT NULL?資料庫Null
- 應用系統適配瀚高報錯:欄位為numeric,但是表示式為varchar
- MySQL中TEXT與BLOB欄位型別的區別MySql型別
- mysql的varchar欄位最大長度真的是65535嗎?MySql
- [提問交流]建立模型,新增屬性,欄位型別如何設定2位小數的欄位型別模型型別
- MySQL資料型別操作(char與varchar)MySql資料型別
- 為什麼阿里巴巴不建議MySQL使用Text型別?阿里MySql型別
- MySQL-去掉不為null的欄位MySqlNull
- Spring中為什麼不建議使用欄位注入Spring
- PHP 操作 mysql blob 資料型別的欄位PHPMySql資料型別
- 多型關聯自定義的型別欄位的處理多型型別
- Sqlserver的欄位datetime型別預設值設為getdate()時,設值毫秒為000SQLServer型別
- 支援 enum 型別的欄位允許為空插入資料庫型別資料庫
- MySQL int型別長度的意義是什麼MySql型別
- mysql中varchar型別最大長度測試MySql型別
- MongoDB更改欄位型別MongoDB型別
- [譯] 為什麼給設計定義 UX、UI、CX、IA、IxD 和其他型別的頭銜是愚蠢的行為UXUI型別
- 為什麼基本型別可以呼叫方法——以字串為例型別字串
- 為什麼不在標頭檔案做定義