用于查询处理的外部数据

    例如,如果您有一个包含重要用户标识符的文本文件,则可以将其与使用此列表过滤的查询一起上传到服务器。

    如果需要使用大量外部数据运行多个查询,请不要使用该特性。最好提前把数据上传到数据库。

    可以使用命令行客户端(在非交互模式下)或使用 HTTP 接口上传外部数据。

    对于传输的表的数量,可能有多个这样的部分。

    –external – 标记子句的开始。
    –file – 带有表存储的文件的路径,或者,它指的是STDIN。
    只能从 stdin 中检索单个表。

    以下的参数是可选的:–name – 表的名称,如果省略,则采用 _data。
    –format – 文件中的数据格式。 如果省略,则使用 TabSeparated。

    在 «file» 中指定的文件将由 «format» 中指定的格式解析,使用在 «types» 或 «structure» 中指定的数据类型。该表将被上传到服务器,并在作为名称为 «name»临时表。

    示例:

    当使用HTTP接口时,外部数据以 multipart/form-data 格式传递。每个表作为一个单独的文件传输。表名取自文件名。«query_string» 传递参数 «name_format»、«name_types»和«name_structure»,其中 «name» 是这些参数对应的表的名称。参数的含义与使用命令行客户端时的含义相同。

    对于分布式查询,将临时表发送到所有远程服务器。