MySQL:大型VARCHAR与文本?

MySQL:大型VARCHAR与文本?

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

是否有理由使用VARCHAR(3000)或文本?仅仅编写VARCHAR(3000)就有点违背直觉了。我已经看过关于Stack溢出的其他类似文章,但是最好能获得特定于这种类型的公共消息存储的视图。


慕婉清6462132
浏览 802回答 3
3回答

炎炎设计

TEXT和BLOB与表一起存储,该表仅具有指向实际存储位置的指针。VARCHAR与表一起存储。VARCHAR如果大小是合理的,那么权衡的速度就会更快,这取决于您的数据和硬件,您可能希望用您的数据对现实世界的场景进行基准测试。更新是否VARCHAR或TEXT是内联存储的,还是非记录存储取决于数据大小、列大小、行_格式和MySQL版本。是的不依赖于“文本”和“varchar”。

紫衣仙女

您能预测用户输入的时间吗?VARCHAR(X)案件:用户名,电子邮件,国家,主题,密码文本案件:消息、电子邮件、评论、格式化文本、html、代码、图像、链接米德米特案件:大型JSON体,短到中长书籍,CSV字符串龙腾案件:教科书,程序,年数日志文件,哈利波特和火焰杯,科学研究伐木
打开App,查看更多内容
随时随地看视频慕课网APP