firestore:透過 id 檢索文件還是透過查詢檢索文件更快?
P粉291886842
P粉291886842 2023-09-14 08:54:32
0
1
365

我收藏的文檔有一個 id(當然),但也有一個保存相同 id 的欄位。 問題:透過 id 檢索該文件是否更快

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

或透過查詢

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

我剛剛重構了我的函數程式碼。我以前使用查詢,但現在我直接使用集合中文檔的id。但我的印像是這種直接方法需要更長的時間。我只是想知道這是否只是一個印象......

P粉291886842
P粉291886842

全部回覆 (1)
P粉232409069

理論上來說,兩者的表現沒有差別。 Firestore 查詢會隨著查詢傳回的文件數量而擴充。如果兩個查詢都傳回 1 個文檔,那麼它們應該執行相同的操作。它們本質上都是使用索引來尋找唯一值。

請參閱:查詢隨結果集的大小而不是資料集的大小而縮放

如果您確實想要對此進行微基準測試,您應該執行自己的測試來找出哪個更快。但我認為你會花費大量時間來優化一些不需要優化的東西。您可以自己決定這是否值得您花時間。

我固執己見的建議:您應該擔心程式碼的清晰度,而不是擔心效能。當您在程式的上下文中閱讀它時,哪一個對您更有意義?通常,文檔參考的單一獲取更短且更易於閱讀,並且當您只期望一個文檔時,不需要查看一組文檔結果,但您的意見可能會有所不同。

    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!