问题描述
(Events
| take 1)
| join kind=leftouter Sensor_Data on $left.start_timestmp ==
$right.timestmp,someotherfield
,它将永远不会返回。联接的右侧有数十亿个条目。
如果我这样做
Events
| take 1
并将结果立即用于Sensor_Data的where子句中。
MS支持团队解释说,此查询需要对Sensors_Data表进行全表扫描。查询优化器未考虑联接参数。
问题: Kusto Query Optimizer真的不能根据联接条件优化查询吗?对我来说,听起来有点像1999年,首先必须手动执行查询的左侧,然后也必须手动执行右侧?是否有一些提示,可以使它快速运行?
解决方法
考虑按如下方式重写查询(例如),看看是否可以帮助其更好地执行:
Command errored out with exit status 1: 'c:\program files\python38\python.exe' -u -c 'import sys,setuptools,tokenize; sys.argv[0] = '"'"'C:\\Users\\User\\AppData\\Local\\Temp\\pip-install-0dci9ehe\\numpy\\setup.py'"'"'; __file__='"'"'C:\\Users\\User\\AppData\\Local\\Temp\\pip-install-0dci9ehe\\numpy\\setup.py'"'"';f=getattr(tokenize,'"'"'open'"'"',open)(__file__);code=f.read().replace('"'"'\r\n'"'"','"'"'\n'"'"');f.close();exec(compile(code,__file__,'"'"'exec'"'"'))' install --record 'C:\Users\User\AppData\Local\Temp\pip-record-dlf9c_63\install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers 'C:\Users\User\AppData\Roaming\Python\Python38\Include\numpy'