当前位置: 首页 > 知识库问答 >
问题:

MySQL:使用LONGTEXT而不是MEDIUMTEXT是否缺乏性能?

袁单鹗
2023-03-14

我知道使用尽可能最小的数据类型的原则,但我想知道为什么这会适用于MySQL中的TEXT/MEDIUMTEXT/LONGTEXT?如果我使用LONGTEXT而不是MEDIUMTEXT,是否存在性能问题?我发现了这样一个问题:当每个条目都适合中等文本大小的字段时,使用MySQL longtext大小的字段的缺点是什么?但我认为这不是性能问题的答案?

这只是一个为LONGTEXT增加一点存储空间的问题吗?

什么时候我应该更喜欢中文本而不是长文本?

共有1个答案

倪德业
2023-03-14

唯一的区别是行数据中的长度字段。使用MEDIUMTEXT而不是LONGTEXT可以为每条记录节省1个字节。如果您有一亿条记录,这将节省100 MB。曾经有一段时间,这是一个巨大的磁盘空间。

如果您遇到数据库行的大小限制,那么这种差异也可能很大。数据的文本存储在表数据外部的文件中,因此它不在限制范围内,但我相信大小字段在表中,因此它会起作用。

但是,如果这两者都不是问题,请继续使用最大类型,以证明您的模式是未来的。

 类似资料:
  • 我对maven还很陌生,如果这是一个愚蠢的问题,请向您道歉,但是在我的文件中没有一个文件看起来像文件或类似文件。 (我在#Maven IRC上问过这个问题,但没有人回应。)

  • 根据MySQL文档,有四种文本类型: TINYTEXT 假设字符编码为UTF-8,我可以在每种数据类型的列中存储的最大长度是多少?

  • 问题内容: 我需要一条SQL语句来检索键(或任何列)在关联表中的记录,例如: 这: …将检索值为1 或 2 或 3的任何值。 有没有这样的事,但返回其中的值值是1 和 2 和 3?像一个IN,但带有AND。 问题答案: 没有直接的功能,但是有两个选项: 使用GROUP BY / HAVING 注意事项是您必须使用,因为对于相同的documentid,termid的重复为2将会是误报。并且COUNT

  • 问题内容: 根据MySQL文档,共有四种TEXT类型: 细语 文本 中文字 长文本 假设字符编码为UTF-8,我可以在每种数据类型的列中存储的最大长度是多少? 问题答案: 从文档中: 请注意,可以在您的列中存储的 字符 数取决于 字符编码 。

  • 在Java/JUnit中,我需要用一些对象来测试null。有多种方法可以测试条件,但我在大多数测试中都使用assertTrue。当我检查assertTrue中的Null时,EclEmma声明它只测试一个分支。 当我手动将语句解析为变量时(比如将结果设置为布尔值并将其传递到assertTrue中),assert上的代码覆盖率被认为是完整的,但变量初始化行上的代码覆盖率不是完整的。 为什么会出现这种情

  • Maven shade插件创建的是否自动用于依赖于uberjar的项目(而不是普通的)? 在阅读了大量与dependency-reduced-pom.xml相关的问题并没有找到答案之后提出这个问题: 将dependency-reduced-pom.xml添加到基目录的Maven shade插件