据说表装饰器性价比更高,所以我做了测试:
从 [myDataSet.myTable@-86400000--30000] 选择计数(不同 ID)
显示仅扫描 15.6 GB 数据 有效:此查询运行时将处理 15.6 GB。
当我添加 where 子句时,它显示它将处理超过双倍的数据大小:
从 [myDataSet.myTable@-86400000--30000] 中选择计数(不同 ID),其中 col='something' 有效:此查询运行时将处理 34.0 GB。***
为什么会有差异?我怎样才能避免这种情况?
最佳答案
如果 col 不是“不同的 ID”,那么这是正常的。
Big Query“已处理大小”取决于它需要扫描的列数。如果您将 col 放在返回值中的 uniqueID 之上,那么它将需要读取两者。尺寸加倍才有意义,不是吗?
尝试检查有多少数据select uniqueID, col from [myDataSet.myTable@-86400000--30000]
。我有一种感觉,它会是一样的:)
关于google-bigquery - 带有 where 子句的 Google Bigquery 表装饰器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29176350/