从外部行集中选择性能



我测试从外部数据库源中选择的不同类型的性能。

  1. 外部Datasource_Identifier
  2. 位置 csharp_string_literal
  3. 执行csharp_string_literal

我对性能感兴趣,因为只有第三种类型(执行(在 WHERE 语句的情况下有效。

我做错了什么,还是 U-SQL 首先从外部表中读取所有行,然后在 ADLA 中过滤它是正常的(LOCATION 的行为相同(?

如果我的表非常大并且我只需要使用部分表行,这是一个问题/无效。

是否可以强制 U-SQL 在从外部表或位置读取数据之前筛选数据?问题是我需要基于变量的动态 WHERE 语句。

首先,使用 DATA SOURCE 对象上的 REMOTABLE_TYPES 子句控制将谓词推送到 SQL Server 引擎的能力。

然后谓词需要是可远程的。如果您正在执行带有 U-SQL 行集(表(连接的谓词,那么有效地远程远程它可能并不容易(我不确定我们是否将联接映射到半连接中(。

由于您似乎能够远程处理您在EXECUTE中使用的谓词,我认为您很有可能可以在其他情况下以可以远程的方式编写查询。但是没有看到查询,很难确定。

如果您希望我们看一看,请通过电子邮件(usql at microsoft dot com(与我联系。

最新更新