关于不是固定常量值创建索引的问题

我现在有一张车辆表的超级表,是按照车辆的车架号来设置tag,创建表的语句如下:
CREATE STABLE db_hndk_station_relast.service_data_battery_cell_detail (
create_time timestamp,
bid BIGINT ,
deleted INT ,
batch_id BIGINT ,
station_id varchar(200) ,
creator varchar(200) ,
updater varchar(200) ,
battery_string_number varchar(50)
)
TAGS (car_vin VARCHAR(50)) COMMENT ‘车辆详细数据表’;

由于要经常查询battery_string_number电池编号和car_vin车架号,car_vin会走索引,但是battery_string_number电池编号不是一个固定的常量值,因为车辆会换电池。
临时解决方案:为了提高电池编号的查询速度,只能又重新创建一个电池的超级表
CREATE STABLE db_hndk_station_relast.service_data_battery_cell_detail_q (
create_time timestamp,
bid BIGINT ,
deleted INT ,
batch_id BIGINT ,
station_id varchar(200) ,
creator varchar(200) ,
updater varchar(200) ,
car_vin varchar(50)
)
TAGS (battery_string_number VARCHAR(50)) COMMENT ‘电池电芯信息详细数据表’;
又重新入了一份数据,这会导致数据冗余。

想问下有没有更好的方法提高非tag值的字段查询速度?

可以考虑将电池信息和时间作为复合主键,加速电池的过滤查询。
如果不考虑修改表结构,加速查询可以通过在过滤电池编号的时候,同步加上时间过滤。

1 个赞

复合主键的话,3.3.2支持吗

我直接修改表结构的话,对现有数据会有影响吗

此话题已在最后回复的 180 天后被自动关闭。不再允许新回复。