当前位置: 首页 > 面试题库 >

MySQL:大型VARCHAR与TEXT?

毛博
2023-03-14
问题内容

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

是否有理由使用VARCHAR(3000)或TEXT?只是编写VARCHAR(3000)有点不合常理。我曾经在Stack
Overflow上浏览过其他类似的文章,但是最好获得特定于这种常见消息存储类型的视图。


问题答案:
  • TEXT并且BLOB 可以 通过将该表存储在表之外,而该表仅具有指向实际存储位置的指针。它的存储位置取决于许多因素,例如数据大小,列大小,row_format和MySQL版本。

  • VARCHAR与表内联存储。VARCHAR如果大小合理,则速度更快,折衷的速度会更快,这取决于您的数据和硬件,因此您希望使用数据对实际场景进行基准测试。



 类似资料:
  • 问题内容: 如果我在表中有一列具有类型字段,并且如果我尝试插入长度为16的数据,MySQL会提示错误 有谁知道为什么MySQL中的VARCHAR字段采用固定长度?另外,基于给定的大小,每个记录的VARCHAR字段会占用多少字节? 问题答案: 如果将一列设置为允许的最大字节数为15,则在不修改该列以使其支持超过15个字符的情况下,最多不能传递15个字符。如果存储4个字符串,则只能使用约4个字节可能的

  • 问题内容: MySQL如何存储varchar字段?我可以假设以下模式代表合理的存储大小: 1,2,4,8,16,32,64,128,255(最大) 通过示例进行说明。可以说我有20个字符的varchar字段。MySQL在创建此字段时是否基本上保留32个字节的空间(不确定是否为字节),但只允许输入20个字节? 我想我担心优化大型表的磁盘空间。 问题答案: 为了回答这个问题,在磁盘上MySql使用1

  • 问题内容: 我要做出设计决定,正在寻找一些最佳实践建议。我有一个Java程序,需要在MySQL数据库中存储大量(每天几百个)浮点数组。数据是长度为300 的固定长度数组。我可以看到三个合理的选择: 将数据存储为BLOB。 序列化数据并将其存储为VARCHAR。 将数据作为二进制文件写入磁盘,并存储对它的引用。 我还应该提到,该数据将被读取并经常更新。 我想使用BLOB,因为这是我过去所做的,并且这

  • 问题内容: 对于正在开发的Web应用程序,我需要存储大量记录。每条记录将由一个主键和一个(短)字符串值组成。我希望有大约100GB的可用存储空间,并希望能够全部使用。 记录将被插入,删除和频繁读取,并且我必须使用MySQL数据库。数据完整性不是关键,但性能至关重要。我可能会遇到什么问题和陷阱,哪种存储引擎最适合该任务? 非常感谢, 问题答案: 无论使用哪种解决方案,由于您说数据库将是大量写入操作,

  • 问题内容: 从本文看来,它们都具有相同的大小容量:http : //msdn.microsoft.com/zh- cn/library/ms143432.aspx 这是真的吗?真正的区别是什么? 我只是从oracle(clob)迁移了一些数据,并将其制作为varchar(max),但无论如何它似乎都截断了一些值,我应该改用TEXT吗? 谢谢! 问题答案: 不,您不应使用。首先,自SQL Serve

  • 是否有机会在MySQL中获得包含varchar的列的(如“500x400”或“800x600”)。它们是框架的大小。 我需要两个数相乘的最大值。500x400=大于200 000。 表如下所示