在NoSQL数据库中存储一个列?

3

在我正在工作的应用程序中,我们使用MySQL数据库,并希望将文章存储在表中。与其将它们存储在SQL数据库中,我们考虑只在NoSQL数据库中存储文章的关键字。这是使用NoSQL解决的好问题吗?还是应该在MySQL中创建另一个表并在其中存储大量文本?

我们正在考虑使用MongoDB来存储文本。


1
问题是,你试图解决什么问题? - Mike Baranczak
我正在尝试解决一个问题,即避免在单个MySQL表中存储大量数据,如果我将数据放入新列中,则会发生这种情况。我可以通过将文本数据分离到另一个表中来解决这个问题,但那样我就必须进行连接,在这种情况下,从NoSQL DB检索可能更快。 - tesserakt
2个回答

1

首先,我会检查MySQL如何处理“大量数据”。如果您获得了可接受的性能,则没有必要尝试使系统更加复杂。

将文本内容放入MySQL的单独表中不会有任何作用。将其放入单独的数据库可能有所帮助,但除非您确定MySQL是一个重要的瓶颈,并且您无法执行其他操作(例如优化查询),否则我不会这样做。


在MYSQL中,即使这显著增加了表的大小,将其保留在同一张表中是否会更快? - tesserakt
1
算了,我发现 mySQL 的 medium text 类型可以存储大量文本,并且它只是创建一个到文件系统某处的引用,不会拖慢数据库查询。暂时将数据保留在 mySQL 中会更好。 - tesserakt

0

MongoDB擅长存储大型blob字段,无论是文本还是二进制。所以我认为这是一个好主意。

BSON对象(MongoDB“记录”)上有4MB的限制。如果您的文本字段大于4MB,则可以使用GridFS,然后就没有限制了。


这样做会比将数据保存在MySQL中更快吗? - tesserakt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接