据说桌面装饰器更具成本效益,所以我做了我的测试:
从[myDataSet.myTable@-86400000--30000]中选择计数(不同的ID)
它显示只有15.6 GB的数据将被扫描有效:此查询在运行时将处理15.6 GB.
当我添加一个where子句时,它显示它将处理双倍数据大小:
从[myDataSet.myTable@-86400000--30000]中选择计数(不同的ID),其中col ='something'有效:此查询在运行时将处理34.0 GB.***
为什么会有区别?我怎么能避免这种情况?
如果col不是"不同的ID",那么这是正常的.
大查询"已处理大小"取决于它需要扫描的COLUMNS数量.如果你在回归中将col放在distinctID的顶部,那么它将需要读取两者.有意义的是大小翻倍,不是吗?
尝试检查多少数据select distinctID, col from [myDataSet.myTable@-86400000--30000].我有一种感觉它会是一样的:)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |