google-bigquery - 即使源为空,查询仍然会花费我们
问题描述
我有一个关于我的查询的问题,我做了一个查询,其中有一个预定的来源,这个来源有时是空的。然而,当它是空的时,它仍然会花费我们一些钱。
查询是这样的,scheduled_source_a 有时是一个空表(scheduled - truncate)
WITH scheduled_source_a AS
(SELECT *
FROM project.dataset.abc),
source_b AS
(SELECT
date_key,
search_id
FROM project.dataset_def)
-- Final Query
SELECT *
FROM source_b
WHERE date_key BETWEEN (SELECT (start_date) FROM table) AND (SELECT (end_date) FROM table)
是否有任何解决方法,以便当源为空时,我的最终查询根本不会花费我们?
解决方案
我认为无论桌子有多小,您看到的账单都应该是 10MB 的最低费用。
如果表为空,您可以使用脚本和元表来避免查询:
declare isEmpty default (select row_count > 0 from yourDataset.__TABLES__ where <table_name_filter>);
IF isEmpty
THEN <do somthing>
END IF;
推荐阅读
- java - 如何在android中用Canvas在一条线的尖端画一个圆圈
- c++ - 单例类不能处理多个文件
- flutter - Flutter Navigator 从替换的路由中获取数据
- http - 为什么我尝试发送 POST 请求时出现错误?
- asp.net - 为什么在.NETCORE 3.1,用Autofac,属性注册是不允许的
- python - 在gridlayout kivy中定位gridlayout
- python - 正则表达式 - 非捕获组不起作用
- kotlin - 如何在 Kotlin/多平台项目中使用 Gradle liquibaseRuntime 配置
- javascript - 如何通过连接选择 knex 上的特定列?
- python - 如何在多线程 PyQt5 应用程序中更新 GUI?