google-cloud-platform - BigQuery 中的表视图是否受益于分区/集群优化?
问题描述
我们在 BigQuery 中有一些表每晚都会更新,然后我们有一个重复数据删除过程来缓慢地进行垃圾收集。
为了确保我们的 UI 始终显示最新的,我们为每个表设置了一个视图设置,该设置只需对最新的时间戳 record_id 组合执行 SELECT WHERE
我们即将设置分区和集群以优化查询范围/速度,但我无法在 Google 文档中找到明确的答案,说明该表的视图是否仍将具有分区查询,或者最终会查询所有数据。
或者,当我们创建视图时,我们可以在构建视图的查询中包含分区和集群吗?
解决方案
如果您正在谈论逻辑视图,那么是的,如果它引用的基表是集群/分区的,那么如果它们是从 WHERE 子句引用的,它将使用这些功能。逻辑视图没有自己的托管存储,它实际上只是一个 SQL 子查询,只要引用该视图就会运行。
如果您正在谈论物化视图,则不会继承基表的分区/集群,但可以在物化视图上定义。有关详细信息,请参阅 DDL 语法:https ://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_materialized_view_statement
推荐阅读
- libreoffice - 如何到达细胞链的末端
- regex - 正则表达式检查前导 0 或空格
- html - CSS:样式化下拉菜单列表,但链接样式不会从主导航样式更改
- javascript - 使用 Apache 时 Flask 找不到应用程序路由
- mysql - SQL从电子表格批量设置wordpress图像标题
- function - powershell 变量放入 where-object 不返回数据
- linux - wget 无法在终端中使用树莓派项目 pacman
- hibernate - 针对 H2 的 spring data JPA 查询失败,找不到模式
- microsoft-graph-api - Microsoft Graph API 停止在一个驱动器项目中继承权限
- java - .fillOval 坐标在 repaint() 期间未更新