我正在使用mongoDB作为应用程序。此应用程序需要高频率的读取,写入和更新。
我只关心更新和删除功能。这两者中哪一个很快。我正在为一个属性索引集合。更新和删除都符合我的目的,但我不确定哪一个是完美的并且有更好的表现。
答案 0 :(得分:1)
我建议您不要决定是否使用更新或删除解决方案,而是更多地了解SafeMode
属性。
SafeMode.True
表示您期望来自服务器的响应,其中包含命令成功或失败的确认。此选项会阻止执行,直到您收到服务器的响应为止。
SafeMode.False
不会指望任何响应,它基本上是一个乐观的命令。您希望它能够正常工作,但无法确认。等待响应不会阻止执行,因此,您获得了性能,因为您只需要发送请求。
现在您需要考虑删除将释放服务器上的空间,但您将丢失数据的历史记录和可跟踪性。更新将允许您保留历史记录条目,但您需要确保您的查询排除了“标记为删除”条目。
显然,您可以找到删除或更新是否更好,但我认为重点应放在是使用SafeMode true还是false来提高性能。
答案 1 :(得分:1)
一个相当奇怪的问题,但这里有你可以做出决定的事情: