跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • MySQL 中 varchar(100)与 varchar(255)区别是什么?
未分類
24 4 月 2020

MySQL 中 varchar(100)与 varchar(255)区别是什么?

MySQL 中 varchar(100)与 varchar(255)区别是什么?

資深大佬 : zealinux 21

比如我有个字段不会超过 64 个字符,那我数据库表创建的时候, 设置成

varchar(100)与 varchar(255)

有什么区别?

猜想:255 肯定不会比 100 内存占用量两倍。

之前 MySQL 中的字段长度都比较随意。

大佬有話說 (14)

  • 資深大佬 : b821025551b

    索引,引擎优化

  • 資深大佬 : est

    varchar 不设置为主键不设置为索引应该不会占内存呀。(要占缓存

  • 資深大佬 : sadfQED2

    不超过 64 个字符为啥不设置成 varchar64

  • 資深大佬 : GoLand

    varchar 长度是可变的,虽然定义的时候指定 255,但是存一个 100 长度的占用空间就是 100 个长度所占用的空间。https://dev.mysql.com/doc/refman/5.7/en/char.html

  • 資深大佬 : wangyzj

    小于 100 的字符串存储 varchar100 和 varchar255 应该是没区别
    吧!

  • 資深大佬 : Maboroshii

    占用空间应该是相同的,不过 mysql 有个默认索引长度限制,varchar 太长了不能建索引

  • 資深大佬 : x97bgt

    MYSQL 总的字段长度不能超过 65535 (好像是这个值)个字节。这在建表时会按可能的最大字符去计算,也就是 varchr 里的数字。
    另外存储上,超过 255 的 varchar,字段名会占据 2 字节,小于 255 次占用 1 字节。所以总字段长度不限制的情况下,一般把 varchar 的长度设成 255 。

  • 資深大佬 : SjwNo1

    不超过 64 个字符为啥不设置成 varchar64
    +1

  • 主 資深大佬 : zealinux

    @sadfQED2 @SjwNo1

    还是那个问题,varchar64 与 varchar100 的区别是什么?

  • 資深大佬 : xpresslink

    varchar(100)与 varchar(255)主要区别:
    ( 1 )当存储的字符串长度小 100 时,两者占用的磁盘空间一样,但是消耗的内存不一样,更长的列消耗的内存会更多。因为 MySQL 通常会分配固定大小的内存块来保存内部值。尤其是使用临时表进行排序会操作时,会消耗更多的内存。在使用磁盘进行排序时,也是一样。

    (2)按照 SQL 标准向数据库里面插入数据时候,
    对长度大于 100 字符串,Varchar ( 100 )字自段就会丢弃大于 100 部分。
    对长度大于 255 字符串,Varchar ( 255 )字自段就会丢弃大于 255 部分。
    这是个很坑的特性。

  • 資深大佬 : SjwNo1

    @zealinux
    区别就是 预留的内存大小不一样,sql 存入长度超过你的预设会报错的

  • 資深大佬 : Oktfolio

    索引。

  • 資深大佬 : msg7086

    总的行长有限制。
    另外字符串长度还要考虑字符集,UTF8 存 64 字节字符串并不一定能存下 64 个字。

  • 資深大佬 : Aresxue

    真实占用没区别,但是在索引创建方面有区别,也会影响总的行长,进而影响行的组织方式,可能会频繁引起页分裂啥的,所以能确定小于 64 就 varchar(64), 后续可能会有改动又不知道多大就直接 varchar(255),不然从小改到大锁表时间,还有上面说到的页分裂都有可能引发问题

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具