【TDengine 使用环境】
生产环境 /测试/ Poc/预生产环境
生产
【TDengine 版本】
3.3.6.3
【操作系统以及版本】
【部署方式】容器/非容器部署
【集群节点数】
3
【集群副本数】
3
【描述业务影响】
【问题复现路径/shan】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
select tablename,last()-first() from st where 时间段条件 group by tablename 查询效率低,会扫描时间段内所有数据,有没有优化方法
【资源配置】
【报错完整截图】
能提供一些具体数据吗?包括表结构,总记录数,单独查 last/first 的时间,查询 last-first 的时间等。
查的是超级表,表结构很简单,就时间戳和value值,时间段可能比较长,有个把月,数据量大概1000万左右,单查last或first大概只要2s左右,last-fisrt大概要1-2分钟
我们最近优化过 last 的性能,但还没有发布,按你的场景用内部最新版本测试了一下,没有发现这个问题。所以请关注新版本的信息,后面看新版是否还有这个问题。
我是对比了两种sql的执行计划,单查last或first只需要扫描几万行数据,如果是last(value)-first(value) 的话要扫描几百万行,把这段时间的数据都扫一遍
system
(system)
关闭
11
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。