MySQL中text,longtext,mediumtext区别

文章目录

    • 一、思维导图
    • 二、MySQL 文本数据类型概览
    • 三、字节限制不同
    • 四、I/O 不同
    • 五、行迁移不同

一、思维导图

网站分享
人工智能学习网站
MySQL文本数据类型
概览
数据类型及存储长度
TEXT: 65,535字符
MEDIUMTEXT: 16,777,215字符
LONGTEXT: 4,294,967,295字符
编码及适用场景
Unicode字符集UTF - 8
非Unicode用CHAR或VARCHAR
其他区别
存储空间: LONGTEXT大
性能: LONGTEXT耗时久
索引: 用前缀或全文索引
数据类型: 小文本用TINYTEXT
字节限制
text: 65535字节
longtext: 2147483647字节
mediumtext: 16777215字节
I/O情况
text: 不易多余I/O
longtext: 易多余I/O
mediumtext: 介于两者之间
行迁移情况
text: 易迁移
longtext: 难迁移
mediumtext: 介于两者之间

二、MySQL 文本数据类型概览

  1. 数据类型及存储长度
    • TEXT:可存储最大长度为 65,535(2^16 - 1)个字符的文本数据,超长度 MySQL 会抛错。
    • MEDIUMTEXT:可存储最大长度为 16,777,215(2^24 - 1)个字符的文本数据,比 TEXT 能存更多数据。
    • LONGTEXT:可存储最大长度为 4,294,967,295(2^32 - 1)个字符的文本数据,是存储数据最多的文本类型。
    • 存储数据越大,占用存储空间越大,设计数据库时应按需选择,避免浪费空间。
  2. 编码及适用场景
    • 这些数据类型是 Unicode 字符集(UTF - 8)编码,存储非 Unicode 字符集数据可选择 CHAR 或 VARCHAR。
  3. 其他区别
    • 存储空间:存储相同数据时,LONGTEXT 占用空间比 MEDIUMTEXT 和 TEXT 大。
    • 性能:LONGTEXT 执行查询和排序等操作耗时更长。
    • 索引:文本类型数据大,使用索引需用前缀索引或全文索引等技术避免性能问题。
    • 数据类型:TEXT 是 TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT 中存储数据最小的,存小文本数据可用 TINYTEXT。
    • 总结:设计数据库按需选类型,小文本用 TINYTEXT,大量文本用 MEDIUMTEXT 或 LONGTEXT,用索引注意性能。

三、字节限制不同

  1. text 字段类型:字节限制为 65535 字节。
  2. longtext 字段类型:字节限制为 2147483647 字节。
  3. mediumtext 字段类型:字节限制为 16777215 字节。

四、I/O 不同

  1. text 字段类型:比 longtext、mediumtext 更不容易造成多余的 I/O。
  2. longtext 字段类型:比 text、mediumtext 更容易造成多余的 I/O。
  3. mediumtext 字段类型:比 text 更容易造成多余的 I/O,比 longtext 更不容易造成多余的 I/O。

五、行迁移不同

  1. text 字段类型:比 longtext、mediumtext 更容易进行行迁移。
  2. longtext 字段类型:比 text、mediumtext 更不容易进行行迁移。
  3. mediumtext 字段类型:比 text 更不容易进行行迁移,比 longtext 更容易进行行迁移。

你可能感兴趣的:(MySQL中text,longtext,mediumtext区别)