【发布时间】:2020-07-22 19:55:26
【问题描述】:
我正在使用以下代码来查询基于多边形的数据集:
SELECT *
FROM `waze-public-dataset.partner_name.view_jams_clustered`
WHERE ST_INTERSECTS(geo, ST_GEOGFROMTEXT("POLYGON((-99.54913355822276 27.60526592074579,-99.52673174853038 27.60526592074579,-99.52673174853038 27.590813604291416,-99.54913355822276 27.590813604291416,-99.54913355822276 27.60526592074579))")) IS TRUE
验证消息显示“此查询在运行时将处理 1 TB”。
好像没有问题。但是,当我删除“WHERE INTERSECTS”函数时,验证消息说的完全相同:“此查询在运行时将处理 1 TB”,相同的 1 TB,所以我猜测 ST_INTERSECTS 函数不起作用。
【问题讨论】:
-
在许多情况下,回答极其简单的问题要比真正复杂的问题复杂得多。让我试试 - 关于处理的消息只是简单地说,无论(分区表除外)您要应用何种过滤方式和何种过滤方式,都将处理表中的多少数据以获得结果 - 您仍然需要处理相同的数量数据的。使用和不使用该过滤器会有什么不同 - 是作为查询结果返回的数据量。希望这会有所帮助
-
@MikhailBerlyant 非常感谢。我很困惑,因为当我按列过滤时,这个“1 TB”实际上发生了变化。所以我要运行这个查询来看看会发生什么。非常感谢。
标签: google-bigquery gis geography sqlgeography waze