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 個文檔,那麼它們應該執行相同的操作。它們本質上都是使用索引來尋找唯一值。
請參閱:查詢隨結果集的大小而不是資料集的大小而縮放
如果您確實想要對此進行微基準測試,您應該執行自己的測試來找出哪個更快。但我認為你會花費大量時間來優化一些不需要優化的東西。您可以自己決定這是否值得您花時間。
我固執己見的建議:您應該擔心程式碼的清晰度,而不是擔心效能。當您在程式的上下文中閱讀它時,哪一個對您更有意義?通常,文檔參考的單一獲取更短且更易於閱讀,並且當您只期望一個文檔時,不需要查看一組文檔結果,但您的意見可能會有所不同。