为啥每天第一次查询都会超级慢,超时。后面再查询就快了

【TDengine 使用环境】
生产环境

【TDengine 版本】

3.4.0.2.community

【操作系统以及版本】

【部署方式】容器

【遇到的问题:问题现象及影响】
创建了超级表:
create STABLE if not exists ${database}.dev_data
(ts timestamp,
data_value NCHAR(500),
data_id NCHAR(50),
dev_id NCHAR(50),
dev_code NCHAR(50),
data_name NCHAR(100),
data_key NCHAR(100),
data_unit NCHAR(50),
create_time timestamp,
protocol_type NCHAR(50),
is_child TINYINT,
is_statistic TINYINT,
index_id NCHAR(50),
is_alarm TINYINT,
remark NCHAR(500))
TAGS(term_code NCHAR(50));
为啥每天第一次查询都会超级慢,超时。后面再查询就快了.
select * from device_jl2404051 where ts >=xxx and ts<=xxx;

第一次都需要从磁盘上读取,然后操作系统就cache了。没有被冲掉时,再次查询就快了。

有什么好的解决办法么,我直接查询的单个设备表数据量不大,为啥还这么慢呢

1、尽量控制 时间范围;

2、使用 ssd 磁盘;

3、写入数据后,执行 compact 进行数据重整(但这个只有企业版才支持)