- Будет ли составной индекс (который индексирует ParentID и Deleted) предпочтительнее, чем индекс из одного поля для этого запроса?
Если вы используете следующеестрока кода:
foldersRef.where("ParentID", "==", "1").where("Deleted", "==", false)
Без упорядочения (ASCENDING или DESCENDING) нет необходимости создавать составной индекс.Firestore создаст нужный индекс автоматически.
Если у меня также есть отдельные индексы для одного поля для ParentID и Deleted, узнает ли Firestore об использовании составного индекса?
Нет.Индексы с одним полем также создаются Fiestore автоматически.Таким образом, нет необходимости создавать какой-либо индекс для одного поля.Кроме того, если у вас есть отдельные индексы полей с упорядочением, это не означает, что у вас также есть составной индекс для этих полей.Вам нужно создать себя.
Когда я создаю составной индекс, имеет ли значение порядок полей?
Да, если вы измените порядок вызовов where()
, вам также необходимо создать соответствующийиндекс соответственно.
Имеет ли значение порядок моих предложений / функций .where ()?
С точки зрения скорости, до тех пор, пока вы создаете правильный индекс, нет.