我有以下代码:
foldersRef.where("ParentID", "==", "1").where("Deleted", "==", false)
ParentID
和Deleted
)是否比单字段索引更可取?ParentID
和Deleted
,将公司的FireStore知道使用复合指数?.where()
子句/函数调用的顺序重要吗?
- 对于此查询,复合索引(索引ParentID和Deleted)是否比单字段索引更好?
如果您使用以下代码行:
foldersRef.where("ParentID", "==", "1").where("Deleted", "==", false)
如果没有任何排序(升序或降序),则无需创建复合索引。Firestore将自动创建所需的索引。
- 如果我还有用于ParentID和Deleted的单个单字段索引,Firestore会知道使用复合索引吗?
不会。Fiestore也会自动创建单字段索引。因此,无需为单个字段创建任何索引。除此之外,如果您具有按顺序排列的单独的字段索引,这并不意味着您也为这些字段具有复合索引。您需要创建自己。
- 创建复合索引时,字段顺序重要吗?
是的,如果您更改where()
呼叫顺序,则还需要相应地创建相应的索引。
- .where()子句/函数调用的顺序重要吗?
在速度方面,只要您创建正确的索引,就不会。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句