海量数据查询使用的场景,可能存在跨年的查询,这样会导致一个问题就是数据量过大,无法跨海量数据的搜索。
在涉及分区和索引列的时候需要注意了
假设我们的查询参数为device,以及时间范围,这个时候我们设计主键则为如下方式device_2023-07-01
select substring(device,1,43),ip_time_list from ga_oneweb_gongan_mid.rp_gapoi_device_period_ip_list where device>'"+deviceid+"_"+startTime+"' and device<'"+deviceid+"_"+endTime+"'"
建表语句
CREATE TABLE ga_oneweb_gongan_mid.rp_gapoi_device_period_ip_list
(
device String,
ip_time_list String,
day String
)
ENGINE = MergeTree
PARTITION BY substring(device, 1, 1)
ORDER BY device
SETTINGS index_granularity = 8192