【问题标题】:MySql varchar type performanceMySql varchar 类型的性能
【发布时间】:2012-09-01 13:27:01
【问题描述】:

据我了解,如果您将列声明为 varchar(15)varchar(200),则内存大小没有区别。如果您存储 4 个字符的字符串,它应该只使用大约 4 个字节。这在 Oracle 中对于 varchar2 是相同的。但是,对于 Oracle,它们的性能是不同的,因为您设置的大小越大,使用的开销就越多。

在 MySQL(或任何其他数据库)中是否相同?

【问题讨论】:

  • 在 mysql 中,它使用长度+1 字节,或者如果您定义的 varchar 大于 255,则使用长度+2 字节。如果该字段是 utf8,则字节大小可能是声明大小的 3 倍
  • 感谢您的回复。我明白你说的。开销如何?这是相同的还是主要的不同
  • 我会说差不多。担心这个是“微优化”

标签: mysql sql oracle varchar varchar2


【解决方案1】:
  • VARCHAR:

    1. 存储可变长度的字符串。
    2. length参数指定字符串的最大长度
    3. 最多可存储 2000 个字节的字符
    4. 它将占用 NULL 值的空间
    5. 字符串的总长度是在创建数据库时定义的。
  • VARCHAR2:

    1. 存储可变长度的字符串。
    2. length参数指定字符串的最大长度
    3. 最多可存储 4000 个字节的字符
    4. 它不会为 NULL 值占用空间
    5. 字符串的总长度是在给定字符串时定义的

【讨论】:

  • 我假设你在谈论 MySql。什么是 VARCHAR(2)?
猜你喜欢
  • 2011-12-04
  • 2023-03-12
  • 2015-03-22
  • 1970-01-01
  • 1970-01-01
  • 2011-01-02
  • 2014-03-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多