84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我收藏的文档有一个 id(当然),但也有一个保存相同 id 的字段。 问题:通过 id 检索该文档是否更快
collection.doc(id).get().then(....)
或通过查询
collection.where('id', '==', id).get().then(...)
我刚刚重构了我的函数代码。我以前使用查询,但现在我直接使用集合中文档的id。但我的印象是这种直接方法需要更长的时间。我只是想知道这是否只是一个印象......
理论上来说,两者的性能没有区别。 Firestore 查询随着查询返回的文档数量而扩展。如果两个查询都返回 1 个文档,那么它们应该执行相同的操作。它们本质上都是使用索引来查找唯一值。
请参阅:查询随结果集的大小而不是数据集的大小而缩放
如果您确实想要对此进行微基准测试,您应该执行自己的测试来找出哪个更快。但我认为你会花费大量时间来优化一些不需要优化的东西。您可以自己决定这是否值得您花时间。
我固执己见的建议:您应该担心代码的清晰度,而不是担心性能。当您在程序的上下文中阅读它时,哪一个对您更有意义?通常,文档参考的单个获取更短且更易于阅读,并且当您只期望一个文档时,不需要查看一组文档结果,但您的意见可能会有所不同。
理论上来说,两者的性能没有区别。 Firestore 查询随着查询返回的文档数量而扩展。如果两个查询都返回 1 个文档,那么它们应该执行相同的操作。它们本质上都是使用索引来查找唯一值。
请参阅:查询随结果集的大小而不是数据集的大小而缩放
如果您确实想要对此进行微基准测试,您应该执行自己的测试来找出哪个更快。但我认为你会花费大量时间来优化一些不需要优化的东西。您可以自己决定这是否值得您花时间。
我固执己见的建议:您应该担心代码的清晰度,而不是担心性能。当您在程序的上下文中阅读它时,哪一个对您更有意义?通常,文档参考的单个获取更短且更易于阅读,并且当您只期望一个文档时,不需要查看一组文档结果,但您的意见可能会有所不同。