文章内容

2021/5/13 19:06:57,作 者: 黄兵

MySQL text与varchar区别

MySQL 5.0.3版的一项更改包括将VARCHAR字段的最大长度从255个字符增加到65,535个字符。这使得VARCHAR类型比以往任何时候都更类似于TEXT。对于那些设计数据库表的人来说,在VARCHAR和TEXT之间进行选择现在变得更加困难。在今天的博客中,我们将概述两者之间的主要区别,并确定在决定使用哪种数据类型时要考虑的因素。

VARCHAR和TEXT之间的一些区别

虽然两种数据类型共享的最大长度为65,535个字符,但仍然存在一些差异:

VARCHAR中的VAR表示您可以将最大大小设置为1到65,535之间的任何值。TEXT字段的最大固定大小为65,535个字符。

VARCHAR可以是索引的一部分,而TEXT字段要求您指定前缀长度,而前缀长度可以是索引的一部分。

VARCHAR与表内联存储(至少对于MyISAM存储引擎而言),因此在大小合理时可能会使其更快。当然,速度有多快取决于您的数据和硬件。同时,TEXT是在表外存储的,该表具有指向实际存储位置的指针。

排序使用TEXT列将需要使用基于磁盘的临时表作为MEMORY(HEAP)存储引擎。

文字类型

如果您需要TEXT类型,请知道实际上有3种口味。除了TEXT,还有MEDIUMTEXT或LONGTEXT变体。后两个用于存储长度超过65,535个字符的文本内容。MEDIUMTEXT最多可存储16 MB的字符串,而LONGTEXT最多可存储4 GB的字符串!不用说,除非您有大量的存储空间,否则应避免使用这些较大的类型。


参考资料:

1、Choosing Between VARCHAR and TEXT in MySQL

分享到:

发表评论

评论列表