MySQL:大型 VARCHAR 与 TEXT?

2024-01-24

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

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


  • TEXT and BLOB may通过存储在表之外,表只有一个指向实际存储位置的指针。它的存储位置取决于很多因素,例如数据大小、列大小、行格式和 MySQL 版本。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL:大型 VARCHAR 与 TEXT? 的相关文章

随机推荐

  • 在 gevent 应用程序中,如何杀死所有已启动的 greenlet?

    我有一个 gevent 应用程序 可以跨多个模块生成多个 greenlet 我希望能够正常关闭应用程序 无论是内部还是通过捕获SIGTERM 例如 允许 greenlet 通过捕获来很好地终止GreenletExit并执行finally 条
  • 转储整个数组:console.log 和 console.dir 输出“... NUM more items]”

    我正在尝试记录一个长数组 以便可以在终端中快速复制它 但是 如果我尝试记录数组 它看起来像 item item gt gt more items lt lt lt 399 more items 如何记录整个数组以便我可以快速复制它 Sett
  • Tkinter:设置“比例”值而不触发回调?

    我有一个 Tkinter GUI 其中有一个Scale目的 我分配了一个回调 由command构造函数参数 以在用户更改刻度位置时执行操作 然而 也存在一种情况 刻度表示的值被外部修改 所以我使用设置刻度位置Scale set 在这种情况下
  • 如何在 Bitbucket 项目中使用 SSH 密钥?

    我在 Bitbucket 中生成和使用 SSH 密钥的步骤 ssh keygen t rsa C my email cat ssh id rsa pub 复制我的钥匙ssh rsa AAAAB3Nz my email到剪贴板 在 bitbu
  • 在指令模板内如何让 Angular ui-router ui-sref 工作?

    基本上 我正在尝试更改 自定义 ui bootstrap accordion 的行为 除了与 ui router 的集成之外 一切正常 这是我想要使用手风琴的方式
  • Jaxb:为固定值属性生成常量值

    我目前正在开发一个使用以下结构的 xsd
  • Visual Studio 2017 Node.js 异常不起作用

    我刚刚开始使用 VS 2017 Professional 进行 Node js 开发 调试通常可以工作 但是当抛出未捕获的异常时 nodejs 进程会立即停止 并且我没有任何更改来跟踪问题 我还在调试器设置中启用了nodejs exptio
  • 通过安装程序 (MSI) Windows 7 更新 Node.js 时看不到最新版本

    我正在尝试更新 Windows 7 机器上的节点 但在重新安装 更新节点后我没有看到最新版本 我只是出去http nodejs org download http nodejs org download 并获取最新的 Windows 安装程
  • 用户友好且难以猜测的唯一标识符

    我的团队正在开发一个具有旧数据库的应用程序 该数据库使用两个不同的值作为 Group 对象的唯一标识符 Id是一个自动递增的 Identity 列 其值由插入时的数据库确定 GroupCode由应用程序决定after插入 并且是 Group
  • 优化“where date Between”类型查询的 Dax 和模型

    我正在构建一个模型以允许报告两个单独的数据集 在本例中 我们将说学生数据集和员工数据集 数据集非常独立 两者之间唯一真正的联系是日期 因此从模型的角度来看 有一个学生星型模式和一个员工星型模式 显示的数据是快照类型数据 回答如下问题 对于选
  • 将 OpenCV 代码从 C++ 转换为 Java

    我目前正在尝试将一些遗留代码从 iPhone 迁移到 Android 此代码使用 OpenCV 库进行一些图像处理 总的来说 一切进展顺利 但我被一行代码困住了 我不知道如何将其转换为 Java 代码 Scalar dMean Scalar
  • 查明之前是否安装了特定的 Android 应用程序

    我有一个应用程序 它为您提供各种应用程序的列表 您可以从 Play 商店下载并安装这些应用程序来赚取好东西 现在 我不希望用户卸载以前安装的应用程序和再次下载通过我的应用程序并赚取好东西 有没有办法查明用户设备上以前是否安装过特定应用程序
  • 重新实现 ToUpper()

    如果 ToUpper 不存在 你会如何编写它 i18n 和 L10n 的奖励积分 由此引发了好奇心 http thedailywtf com Articles The Long Way toUpper aspx http thedailyw
  • heroku-rails-权限被拒绝(公钥)

    heroku create Creating floating planet 1824 done stack is bamboo mri 1 9 2 http floating planet 1824 heroku com email pr
  • 限制并行/同时下载 - 如何知道下载是否被取消?

    我有一个用 PHP 编写的简单文件上传服务 其中还包括一个脚本 当用户请求从此站点下载时 该脚本通过发送有限大小的数据包来控制下载速度 我想实现一个系统 将每个用户的并行 同时下载限制为 1 如果他们不是高级会员 在上面的下载脚本中 我可以
  • 使用队列和堆栈将中缀转换为后缀的运行时间是多少?

    在c 中 我知道队列和堆栈的各个函数的时间复杂度 但我不知道同时使用队列和堆栈的 infixToPostfix 函数的时间复杂度是多少 我当然是一名初学者程序员 而且我我很困惑 我认为使用堆栈和队列从中缀转换为后缀是 Dijkstra 的调
  • 在 SSAS 中使用参数测试 mdx 查询

    我想在 SSAS 中测试 MDX 查询 到目前为止我已经执行了以下步骤 我打开 SQL Profiler 并运行 SSRS 报告 我找到了我需要的查询 带有参数值 并选择了它SQL 探查器 https i stack imgur com 8
  • 等待异步请求结果

    我想以某种方式异步验证 ABPadLockScreen 中的引脚 因为引脚未保存在设备上 我使用 Alamofire 进行 http 请求 并使用 PromiseKit 来实现承诺 我尝试过使用AwaitKit但问题是我陷入了僵局 我也尝试
  • Visual Studio 中用于打开解决方案中的文件的快捷键(热键)?

    Visual Studio 中是否有快捷键可以在不使用 Resharper 或任何其他工具的情况下在解决方案中查找并打开文件 接受的解决方案doesn t开发新版本 For 视觉工作室 2022 and 2019 2017请执行下列操作 U
  • MySQL:大型 VARCHAR 与 TEXT?

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