【发布时间】:2021-06-05 08:07:40
【问题描述】:
以下三个查询的性能会有所不同吗?我认为第一个查询是有效的。尽管在幕后,优化器可能无论如何都会使它们等效。
t1 | union t2,t3,t4
t1 | union t2 | union t3 | union t4
union t1,t2,t3,t4
【问题讨论】:
以下三个查询的性能会有所不同吗?我认为第一个查询是有效的。尽管在幕后,优化器可能无论如何都会使它们等效。
t1 | union t2,t3,t4
t1 | union t2 | union t3 | union t4
union t1,t2,t3,t4
【问题讨论】:
所有 3 个查询将执行完全相同,因为它们的查询计划是相同的。
【讨论】:
union 的相关分支。假设您有 3 个表:Table1、Table2 和 Table3,其中只有前两个有一个名为 Timestamp 的列。在这种情况下,以下两个查询在性能方面将是相同的:union Table1, Table2, Table3 | where Timestamp > ago(1d) 和 union (Table1 where Timestamp > ago(1d)), (Table2 | where Timestamp > ago(1d)), Table3。