gpt4 book ai didi

MySQL - "text"列的替代方案来存储 HTML 内容

转载 作者:行者123 更新时间:2023-11-29 20:53:39 25 4
gpt4 key购买 nike

我的公司有一个大型 PHP 应用程序和一个 MySQL 数据库。所有通信(例如电子邮件、基于 HTML 的报价)当前都存储在 MySql 表中的“文本”列中。这些表现在已经变得相当大,大小为 15-16GB,并且恢复、移动到其他服务器等速度很慢。

是否有一种更现代的方法来存储这种性质的信息,也许是一种完全不同类型的数据库,非常适合存储文档。显然,这些数据需要从核心应用程序等中检索。

我听说过 MongoDB 之类的东西,但不知道它们是否是为满足这种存储需求而设计的。

有人对如何摆脱“文本”列有任何建议吗?我确信这现在一定是一种老式技术。

问候

詹姆斯

最佳答案

您的问题似乎是“因为我认为关系数据库中的 TEXT 列已经过时,所以存在哪些存储数据的选项?”。

关于这个问题......有很多不同的工具和基础用于存储数据 - 除了处理之外,这就是计算机所做的。至于哪一个最合适,这取决于您想要如何访问数据、更新数据和处理数据:这些机制需要有多强大:它们需要运行多快。

don't know if these are designed to cater for this kind of storage.

但是您告诉我们的有关存储的唯一信息是存储量很大。您当然应该熟悉 CAP 定理。它看起来简单得具有欺骗性。但是,如果您不确切知道自己在做什么,那么在同一个应用程序中混合不同的数据库时就会遇到很多问题。

and are slow to restore, move to other servers etc.

我不知道你所说的“等”是什么意思。但如果您的问题是数据的大小,那么解决方案就是简单地对数据集进行分区 - 在具有统一 View 的表中执行此操作可能比使用 MySQL 的表分区更实用。

根据数据的大小,您还可以考虑在插入 HTML 数据之前对其进行压缩 - 毕竟您无法对其建立索引。

是的,您可以重写您的应用程序以在 NoSQL 数据库上运行 - 如果您专门使用简单的 ORM,那应该很简单。但它并没有减少数据量。

关于MySQL - "text"列的替代方案来存储 HTML 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37810761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com