MySQL:大型 VARCHAR 与 TEXT?

标签 mysql text messages varchar

我在 MySQL 中有一个消息表,用于记录用户之间的消息。除了典型的 id 和消息类型(所有整数类型)之外,我需要将实际的消息文本保存为 VARCHAR 或 TEXT。我设置了 3000 个字符的前端限制,这意味着消息永远不会被插入到数据库中。

是否有使用 VARCHAR(3000) 或 TEXT 的理由?写 VARCHAR(3000) 有点违反直觉。我已经在 Stack Overflow 上浏览过其他类似的帖子,但如果能获得特定于这种常见消息存储类型的 View 会很好。

最佳答案

  • TEXTBLOB 可以 存储在表之外,表中只有一个指向实际存储位置的指针.它的存储位置取决于很多因素,例如数据大小、列大小、row_format 和 MySQL 版本。

  • VARCHAR 与表内联存储。当大小合理时,VARCHAR 会更快,其权衡会更快取决于您的数据和您的硬件,您希望使用您的数据对真实场景进行基准测试。

关于MySQL:大型 VARCHAR 与 TEXT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2023481/

相关文章:

mysql - VARCHAR(1500) VS 文本 | Utf-8编码

uibutton - 如何使 UIButton 导致 UITextField 开始编辑文本

messages - Sirikit 'send a messages using My App' 只工作了几次

具有查找支持的 GWT 消息接口(interface)

PHP - 关联表的爆炸结果查询

mysql - SQL语句将行减半

php - 如何编写一个 SQL 查询来计算每月和每年的行数?

mysql - 使用连接字段作为 date_sub 的变量

c++ - C++中的简单文本编辑程序

c++ - 在 Cairo Surface 之前创建 Pango 布局