【发布时间】:2018-08-11 04:21:40
【问题描述】:
我试图通过使用偏移量获取某个行号来模拟 BigQuery 中的分页。看起来检索结果的时间随着偏移量的增加而稳步下降,直到达到ResourcesExceeded 错误。以下是一些示例查询:
是否有更好的方法可以在 BigQuery 中使用相当于“偏移量”而不出现性能下降的情况?我知道这可能需要一个不存在的灵丹妙药,但想知道是否有解决方法来实现上述目标。如果没有,如果有人可以提出一种替代方法来获得上述内容(例如 kinetica 或 cassandra 或任何其他方法),那将不胜感激。
【问题讨论】:
-
你能从实际的角度阐明这样做的原因吗?
-
@MikhailBerlyant 一个示例是产品目录(约 10M 条目),用户希望向下滚动到以字母“M”开头的项目。这是我发现自己每天在 Excel 中执行的一项任务(在大约 500k-1M 行的电子表格上)。
-
为什么不使用
WHERE LOWER(product_name) > 'm'之类的东西? -
@MikhailBerlyant 是的,这会起作用,但我更多的是描述前端用户的随机搜索行为模式,例如,如果他们去 m,然后是 z,然后是 c ,然后是 a 等等。或者,如果该字段是日期时间字段,他们是否每次都必须输入完整的日期时间?
-
我想说 - 由应用程序的 UI 来使用户与您的应用程序的交互尽可能友好和舒适。所以最有可能 - 是的 - 用户需要以某种方式输入他们想要开始的内容 - 这可以是简单的条目或某种日历控件 - 抱歉,如果我在这里走错方向
标签: google-cloud-platform google-bigquery bigdata