我正在为应用程序使用mongoDB。此应用程序需要高频率的读取,写入和更新。更新或删除哪个更快?
我只关心更新和删除功能。这两者中哪一个是快速的。我正在索引一个属性的集合。更新和删除都符合我的目的,但我不确定哪一个是完美的并有更好的性能。
我正在为应用程序使用mongoDB。此应用程序需要高频率的读取,写入和更新。更新或删除哪个更快?
我只关心更新和删除功能。这两者中哪一个是快速的。我正在索引一个属性的集合。更新和删除都符合我的目的,但我不确定哪一个是完美的并有更好的性能。
我会建议,而不是决定是否使用更新或删除您的解决方案,你看看更多的SafeMode
属性。
SafeMode.True
表示您期待从服务器接收包含其他内容的响应,以确认命令是成功还是失败。该选项阻止执行,直到您收到来自服务器的响应。
SafeMode.False
不会期待任何回应,它基本上是一个乐观的命令。您希望它能够正常工作,但无法确认。等待响应不会阻止执行,因此,您可以获得性能,因为您只需发送请求即可。
现在您需要考虑删除将释放服务器上的空间,但您将失去数据的历史记录和可追溯性。更新将允许您保留历史条目,但您需要确保您的查询不包含“标记为删除”条目。
很明显,您会发现删除或更新是否更好,但我认为应该关注您是使用SafeMode true还是false来提高性能。
一个相当奇怪的问题,但在这里,你可以基于你的决定的事情:
嗨,在我的情况下,执行时间是ony标准。比较好!这就是我在更新和删除中感到困惑! – Alex 2012-01-11 06:36:58
我认为这里最重要的因素是使用SafeMode来获得客户端应用程序的性能,因为它不会阻止执行。在这种情况下,删除或更新不一定彼此不同。 – agarcian 2012-01-11 06:53:53