MySQL - Char 和 Varchar 之间的区别? [复制]

Posted

技术标签:

【中文标题】MySQL - Char 和 Varchar 之间的区别? [复制]【英文标题】:MySQL - Difference between Char and Varchar? [duplicate] 【发布时间】:2011-04-22 17:04:16 【问题描述】:

可能重复:What's the difference between VARCHAR and CHAR?

CHAR 和 VARCHAR 有什么区别。

【问题讨论】:

拜托了,不是其他人:VARCHAR vs CHAR 遗憾的是,我们不喜欢duplicates。 从技术上讲,如果文本不同,它不会重复。 不必是 1:1 的副本即可复制。 【参考方案1】:

CHAR 字段是一个固定长度的字段,而 VARCHAR 是一个可变长度字段。

这意味着存储要求不同 - 无论您存储什么,CHAR 始终占用相同数量的空间,而 VARCHAR 的存储要求因存储的特定字符串而异。

【讨论】:

那么为什么我们需要使用 CHAR 呢? @HaykAramyan 因为 CHAR 字段存储在寄存器中,因为它的大小是已知的,这使得搜索和索引更快。 VARCHAR 必须存储在其他地方,并且必须使用引用表来查找内容。【参考方案2】:

VARCHAR 仅针对内容所需的空间存储可变数量的字节。

CHAR 存储固定大小,无论您为表指定多少字节,无论每行有多少字符占用此类型的字段。

【讨论】:

那么一个ascii字符就是一个字节?

以上是关于MySQL - Char 和 Varchar 之间的区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

你不知道的mysql varchar

MySQL数据类型 - 字符串数据类型

mysql中char和varchar有啥区别?

char和varchar在mysql中的效率怎样

为啥 CHAR 和 VARCHAR 在 MySQL 中返回相同的长度?

mysql中char和varchar类型的区别