BigQuery Pagination - использовать pageToken или startIndex? - PullRequest
0 голосов
/ 14 мая 2019

Я принесу ок.От 500 000 до 1 000 000 строк в BiqQuery.Мы ограничим его смещением и макс.В этом случае «pageSize = max» и «startIndex = offset».

Наши данные будут обрабатываться только один раз в день, а затем загружаться в BigQuery.

В документации рекомендуется использовать pageToken вместо startIndex.Я сделал некоторую оценку, используя pageToken и startIndex, и не смог увидеть никакой разницы во времени.

Я нашел один ответ здесь, в StackOverflow:

"Вы должны использовать маркер страницы, возвращенный изисходный ответ на запрос или предыдущий jobs.getQueryResults() вызов для итерации по страницам. Это, как правило, более эффективно и надежно, чем использование индексации на основе индекса "

Но я не уверен, почему я должен использовать"pageToken ", тогда мне нужно сохранить токен, чтобы использовать его при переходе назад и вперед.Временами я не видел никакой разницы.

1 Ответ

1 голос
/ 14 мая 2019

Но я не уверен, почему я должен использовать "pageToken"

Существует небольшое, но важное различие между двумя

  • индексомпагинация на основе - хорошо, когда вы знаете , сколько записей возвращено по вашему запросу, и не учитывает размер записи (Это важно для клиентского приложения

  • маркер страницы - определенная страница в наборе результатов, не требующая доступа к какой-либо предварительной информации, такой как размер результатов

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

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