我测试来自外部DB源的不同类型select的性能。
我对性能感兴趣,因为只有第三种类型(执行)在WHERE语句的情况下是有效的。
我是不是做错了什么,或者这是正常的,U-SQL首先读取外部表中的所有行,然后在ADLA中过滤它(相同的位置行为)?
如果我的表非常大,而且我只需要使用表行的一部分,这是一个问题/无效。
在从外部表或从位置读取数据之前,我可以强制U过滤数据吗?问题是我需要基于变量的动态WHERE语句。
发布于 2017-04-07 00:41:41
首先,通过在REMOTABLE_TYPES对象上使用DATA SOURCE子句控制将谓词推送到Server引擎的能力。
那么谓词需要是可移动的。如果您使用一个带有U行集(表)的联接来执行谓词,那么很难有效地对其进行远程处理(我还不确定是否将一个联接映射到半连接中)。
由于您似乎能够远程处理您在EXECUTE中使用的谓词,所以我认为您很有可能在其他情况下以一种可以远程处理的方式编写查询。但是,如果没有看到这些查询,就很难确定。
如果您想让我们看看,请通过电子邮件联系我(usql在微软网站上)。
https://stackoverflow.com/questions/43256206
复制相似问题