彩票走势图

MySQL 中如何对 VARCHAR 和 TEXT 进行选择?

转帖|使用教程|编辑:鲍佳佳|2021-02-19 11:53:42.430|阅读 713 次

概述:对于那些设计数据库表的人来说,在VARCHAR和TEXT之间进行选择现在变得更加困难。在今天的博客中,我们将概述两者之间的主要区别,并确定在决定使用哪种数据类型时要考虑的因素。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

Navicat for MySQL 是管理和开发 MySQL 或 MariaDB 的理想解决方案。它是一套单一的应用程序,能同时连接 MySQL 和 MariaDB 数据库,并与 Amazon RDS、Amazon Aurora、Oracle Cloud、Microsoft Azure、阿里云、腾讯云和华为云等云数据库兼容。这套全面的前端工具为数据库管理、开发和维护提供了一款直观而强大的图形界面。

点击下载 Navicat for MySQL最新试用版

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类型

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

在Navicat中选择VARCHAR和TEXT类型

Navicat for MySQLNavicat Premium中,对象设计器都允许您创建和维护各种数据库对象,包括表,视图,函数,索引以及列。在“类型”标题下,您只需从下拉菜单中选择列的数据类型即可。如您所见,它包含text,mediumtext和longtext类型:

types_dropdown (4K)

对于VARCHAR类型,也可以从“类型”下拉列表中选择它,但是如果要使用非255(默认值)的值,则应编辑“长度”值。

types_dropdown (4K)

提示:由于TEXT字段可能会很长,因此Navicat拥有表单视图,为它们提供了更多空间:

types_dropdown (4K)

总结

我们可以从所有这些中得出的结论是,如果可能的话,应该对255至65k个字符的列使用VARCHAR字段而不是TEXT。 这将可能导致更少的磁盘读取和更少的写入。

有兴趣了解有关Navicat for MySQLNavicat Premium的更多信息吗? 您可以免费试用14天,以进行评估!


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP