firestore:通过 id 检索文档还是通过查询检索文档更快?
P粉291886842
P粉291886842 2023-09-14 08:54:32
0
1
430

我收藏的文档有一个 id(当然),但也有一个保存相同 id 的字段。 问题:通过 id 检索该文档是否更快

collection.doc(id).get().then(....)

或通过查询

collection.where('id', '==', id).get().then(...)

我刚刚重构了我的函数代码。我以前使用查询,但现在我直接使用集合中文档的id。但我的印象是这种直接方法需要更长的时间。我只是想知道这是否只是一个印象......

P粉291886842
P粉291886842

全部回复(1)
P粉232409069

理论上来说,两者的性能没有区别。 Firestore 查询随着查询返回的文档数量而扩展。如果两个查询都返回 1 个文档,那么它们应该执行相同的操作。它们本质上都是使用索引来查找唯一值。

请参阅:查询随结果集的大小而不是数据集的大小而缩放

如果您确实想要对此进行微基准测试,您应该执行自己的测试来找出哪个更快。但我认为你会花费大量时间来优化一些不需要优化的东西。您可以自己决定这是否值得您花时间。

我固执己见的建议:您应该担心代码的清晰度,而不是担心性能。当您在程序的上下文中阅读它时,哪一个对您更有意义?通常,文档参考的单个获取更短且更易于阅读,并且当您只期望一个文档时,不需要查看一组文档结果,但您的意见可能会有所不同。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板