Понимание ограничений базы данных Firebase Realtime с использованием queryLimited (toFirst :) - PullRequest
0 голосов
/ 23 июня 2019

Ограничения , установленные Firebase , указывают, что максимальная операция чтения составляет 256 МБ.В нем говорится:

Размер данных, загружаемых из базы данных в одном месте, должен быть меньше 256 МБ для каждой операции чтения.

Для выполнения операции чтения в большем местоположениипопробуйте один из следующих вариантов:

  1. Использовать резервную копию.
  2. Разбивать данные на запросы.
  3. Использовать поверхностные запросы.

Мой вопрос: учитывается ли использование queryLimited (toFirst :) как разбиение на страницы данных в запросе?Или он все еще читает всю ветку, что влечет за собой общую стоимость чтения всей ветви?

1 Ответ

2 голосов
/ 23 июня 2019

Если для заказа вашего запроса нет индекса, все данные будут загружены на клиент, а заказ / фильтрация будет выполнена на стороне клиента.Клиент запишет довольно четкое сообщение об этом в выходные данные отладки вашего приложения.

Если для порядка вашего запроса определен индекс на стороне сервера, упорядочение и фильтрация будут выполняться на стороне сервера ион действительно не загружает все данные в этом месте на клиент.

Дочерние ключи узла автоматически индексируются Firebase, поэтому orderByKey() работает без необходимости определения индекса.Но для любого другого порядка сортировки / фильтрации (orderByChild() и orderByValue()) вам необходимо определить индекс самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...