Azure 在KQL中使用以前定义的变量时运行时错误
在KQL中运行以下查询时,我的运行时非常糟糕:Azure 在KQL中使用以前定义的变量时运行时错误,azure,azure-data-explorer,kql,Azure,Azure Data Explorer,Kql,在KQL中运行以下查询时,我的运行时非常糟糕: range x from my_Auslegungstemp to 15 step 0.05 | extend y = my_a*x+my_b+max_diff_prog_real+0.05*(my_b+max_diff_prog_real) | extend flag = "Regression_neu" 所有这些变量之前都在“let”语句中定义 查询大约需要1分钟才能运行,这似乎需要很多时间 任何帮助都将不胜感激 如果看不
range x from my_Auslegungstemp to 15 step 0.05
| extend y = my_a*x+my_b+max_diff_prog_real+0.05*(my_b+max_diff_prog_real)
| extend flag = "Regression_neu"
所有这些变量之前都在“let”语句中定义
查询大约需要1分钟才能运行,这似乎需要很多时间
任何帮助都将不胜感激 如果看不到完整的查询,就很难判断(如果你同意的话,可以把它放在这里)。 但大多数情况下,变量(my_a、my_b和max_diff_prog_real)的计算占用了大部分时间 我建议你检查一下计算变量的方法,看看它们是否计算有效。如果它们都基于其他的
let
语句,那么请确保使用materialize()
函数(请参阅)
另外,请查看,您可能会在其中找到其他一些有用的提示。
最常见的错误是:
- 使用
而不是contains
(has
的性能更高,但语义稍有不同)has
- 使用
,左侧明显大于右侧(为获得最佳性能,左侧应为小侧)join
- 在查询的早期使用
(这会显著降低查询的并行性),而不是使用order by
- 不在DateTime列上放置筛选器
- 如果没有看到完整的查询,很难判断(如果您同意,可以将其放在这里)。
但大多数情况下,变量(my_a、my_b和max_diff_prog_real)的计算占用了大部分时间
我建议你检查一下计算变量的方法,看看它们是否计算有效。如果它们都基于其他的
let
语句,那么请确保使用materialize()
函数(请参阅)
另外,请查看,您可能会在其中找到其他一些有用的提示。
最常见的错误是:
- 使用
而不是contains
(has
的性能更高,但语义稍有不同)has
- 使用
,左侧明显大于右侧(为获得最佳性能,左侧应为小侧)join
- 在查询的早期使用
(这会显著降低查询的并行性),而不是使用order by
- 不在DateTime列上放置筛选器