Nom*_*sta 2 android kotlin firebase google-cloud-firestore
我多次创建新文档而不检查写入是否成功:
for element in data {
val document = firestore.collection("test")
document.set(element)
}
Run Code Online (Sandbox Code Playgroud)
有时data包含数百个元素,我发现在极少数情况下,并非每个文档都上传到云端(例如,5% 未成功上传,而仅上传最后一个元素)。
多次写入有限制吗?我应该把它包装到批次中吗?
是的,大量写入时 Firestore 性能存在限制。
单个文档每秒更新一次的限制。在这种情况下,一次写入所有文档肯定比一次写入一个值要好(而且,成本会低很多)。文档指出,这个限制有点软,但强烈建议不要超过它。
如果您在狭窄的文档范围内(或使用新集合)进行编写,您也可能会遇到性能问题。确保您使用自动 ID 或将它们分散在范围内。
最后,写入有一些完全限制,包括每秒 500 个集合的写入速率,其中文档在索引字段上包含顺序值。
根据最近的另一个问题,批处理最多是对并行写入的清洗,并且确实增加了复杂性,但它比顺序写入更快。该答案还建议不要使用客户端 SDK 进行批量写入(例如使用 Admin SDK)。
| 归档时间: |
|
| 查看次数: |
587 次 |
| 最近记录: |