小编ASP*_*YOK的帖子

在没有表行更新/上传发生时设置大查询警报

当没有数据上传到 Big Query 表超过一天时,为每封电子邮件设置 Big Query 警报的最佳方法是什么?我想到的是:

  • 堆栈驱动程序
  • 酒馆子
  • 云功能

但我不确定最快和最好的方法是什么。我尝试通过 Stackdirver -> Create New Alert Ploicy 进行设置

  • 资源类型:BigQuery 数据集
  • 指标:上传的行
  • 如果-> 违反任何时间序列 -> 23 小时不存在,则条件触发

但是没有发送电子邮件。虽然有些表几个月没有数据......

google-bigquery google-cloud-platform stackdriver google-cloud-stackdriver

4
推荐指数
1
解决办法
1454
查看次数

加入Subquerys,antipattern?

我有一个表A和一个表B,我想加入,我只需要几列,所以我认为从表a和b创建subquerys然后加入它们就像我试图在下面说明一样:

select * from (Select * from (SELECT A,B,C FROM table1 where A =4756937 and B=290) as a
    join
      (SELECT D,E,F FROM table2) as b
      on a.A = b.E )as c
      join
      (SELECT G,H,I,J
      FROM table2) as d
      on c.F = d.H 
    order by A;
Run Code Online (Sandbox Code Playgroud)

原因是

  1. 就像我已经说过的,我想只有一个列的子集
  2. 我可能想要一个特殊的数据子集,例如A = 4756937

所以第一个问题是:这是反模式吗?或者数据库系统是否会优化查询?

第二个问题:其他程序员会如何喜欢这种风格?有什么理由去做SQL课程吗?

最后一个问题:在我已经加入表a和b之后的最后一个连接中,我再次在表d上加入了构造(这也是表b的子查询),因为我在表b中有重复项.

所以我的查询的想法是从表a获取一个特定的nr并将其加入关键列wihtin table b没什么特别的: 在此输入图像描述

但是表b还有另一个键列(bf),表示数据行有类似"小兄弟行"的内容.这就是为什么我加入表b(再次作为子查询):

在此输入图像描述

所以再一个问题:我为这个用例做了什么合理的,性能明智的智能还是我不知何故陷入反模式?

mysql sql sql-server

1
推荐指数
1
解决办法
82
查看次数

大查询 - 使用视图管理用户访问

在我们的项目中,我们有基于表的表和视图.视图包含业务逻辑并管理用户访问:

在此输入图像描述

所以我需要一个能够查询视图(通过BQ或DataStudio)但无法访问表的用户的解决方案......

sql google-bigquery google-data-studio

0
推荐指数
1
解决办法
134
查看次数