BigQuery分页-使用pageToken还是startIndex?

时间:2019-05-14 12:33:48

标签: java google-bigquery

我会拿大约。 BiqQuery中的500 000至1 000 000行。我们将其限制为最大偏移量。在这种情况下,“ pageSize = max”和“ startIndex = offset”。

我们的数据每天只会处理一次,然后上传到BigQuery。

建议使用pageToken代替startIndex的文档。 我已经使用pageToken和startIndex进行了一些估算,但看不到任何时间差异。

我在StackOverflow上找到了一个答案:

  

“您应该使用从原始查询响应或先前的jobs.getQueryResults()返回的页面令牌来遍历页面。与使用基于索引的分页相比,这通常更加有效和可靠”

但是我不确定为什么我应该使用“ pageToken”,所以我需要存储令牌来回使用它。时间上我看不出有什么区别。

1 个答案:

答案 0 :(得分:1)

  

但是我不确定为什么我应该使用“ pageToken”

两者之间几乎没有什么重要差异

  • 基于索引的分页-当您知道从查询中返回多少记录并且不考虑记录的大小时,此方法非常有用(此对于客户端应用程序很重要

  • 页面令牌-结果集中的特定页面,不需要任何预信息即可访问,例如结果的大小

因此,如果您知道自己有多少结果,并且不关心页面大小,则可以使用基于索引的方法,否则可以使用页面令牌