Mysql varchar型別欄位為什麼經常定義為255

kakaxi9521發表於2021-12-14

      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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章