看這個視頻,它有一個任務集合,它在自己的集合中克隆/非規范化所有已完成的任務。
結果,它將有 2 個集合:tasks和completedTasks.
我知道在 NoSQL 型別的資料庫中建議使用非規范化,我們必須針對資料庫讀取進行優化。關于這種方法,我有幾個問題要問。
- 據我所知,Firestore 會根據結果集的數量而不是它讀取的檔案數量向您收費。
- 其次,基于第一點,為什么不簡單地按
completed屬性過濾它,而不是創建一個完全獨立的completedTasks集合。在任何情況下,兩者都將回傳相同數量的檔案并且都將具有相同數量的讀取?我在這里錯過了什么嗎?
使用這種方法,我們不是在保存資料庫寫入并防止資料庫更新/洗掉例外嗎?
uj5u.com熱心網友回復:
據我所知,Firestore 會根據結果集的數量而不是它讀取的檔案數量向您收費。
恰恰相反。您需要支付與查詢回傳的檔案數量相等的檔案讀取次數。它與您的資料集有多大無關。假設您有 100 萬個檔案的集合,但您的查詢只回傳 10 個檔案,那么您只需支付 10 次檔案讀取。
當您在線時,如果您執行兩次查詢回傳完全相同的檔案,您將被收取兩次費用。我什至寫了一篇關于這個主題的文章:
- 在 Firestore 中沒有更改檔案時,如何大幅減少讀取次數?
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/442308.html
上一篇:嘗試在androidstudiofirebasemainactivity中的空物件參考上呼叫虛擬方法booleanjava.lang.String.equals(java.lang.Object)
