【问题标题】:mysql | What is difference between SET and TEXT field types?mysql | SET 和 TEXT 字段类型有什么区别?
【发布时间】:2015-05-14 21:12:18
【问题描述】:

SET 和 TEXT 列类型有什么区别? 我知道 SET 列类型的最大长度是 64 个元素。如果我将使用 TEXT 列类型,我可以避免这个限制吗?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    settext 是两个完全不同的东西。

    set 允许您指定列中允许的值(最多 64 个),并输入包含这些值的任何唯一组合的值。另一方面,text 只是一个真的长字符串。

    【讨论】:

    • FIND_IN_SET 命令更快。在数字 SET 中搜索或在数字 TEXT 字段中搜索???
    • 当然取决于具体数据,但根据经验,使用数字SET 应该会快得多。
    【解决方案2】:

    是的,你可以避免这个限制(64 个元素),但是TEXT 类型有它的限制:

    Maximum length (TEXT type): 65,535 (216−1) bytes = 64 KiB
    

    有关最大存储大小类型的更多信息,请参见:

    TINYTEXT, TEXT, MEDIUMTEXT, and LONGTEXT maximum storage sizes

    【讨论】:

      猜你喜欢
      • 2012-07-22
      • 2020-08-21
      • 1970-01-01
      • 2011-07-05
      • 2022-01-21
      • 2022-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多