Добрый день подскажите, как можно оптимизировать запросы к clickhouse
я создал таблицу
CREATE TABLE IF NOT EXISTS angc3_raw_data
(
ts_kafka DateTime64(3, 'UTC'),
ts_received DateTime64(3, 'UTC'),
ts_now DateTime64(3, 'UTC') DEFAULT now64(),
name String,
value Float32
)
ENGINE = MergeTree()
ORDER BY (name, ts_kafka);
далее добавил скип индекс на name
запрос мой выглядит так
SELECT
toStartOfMinute(ts_kafka) AS t,
avgIf(value, name = 't_fg_kr_term1') AS "КР т.1",
avgIf(value, name = 't_fg_kr_term2') AS "КР т.2",
avgIf(value, name = 't_fg_kr_term3') AS "КР т.3",
avgIf(value, name = 't_fg_kbn1_term1') AS "КБН-1 т.1",
avgIf(value, name = 't_fg_kbn1_term2') AS "КБН-1 т.2",
avgIf(value, name = 't_fg_kbn2_term1') AS "КБН-2 т.1",
avgIf(value, name = 't_fg_kbn2_term2') AS "КБН-2 т.2",
avgIf(value, name = 't_fg_kbn3_term1') AS "КБН-3 т.1",
avgIf(value, name = 't_fg_kbn3_term2') AS "КБН-3 т.2",
avgIf(value, name = 't_fg_kbn4_term1') AS "КБН-4 т.1",
avgIf(value, name = 't_fg_kbn4_term2') AS "КБН-4 т.2",
avgIf(value, name = 't_fg_kbn1') AS "КБН-1",
avgIf(value, name = 't_fg_kbn2') AS "КБН-2",
avgIf(value, name = 't_fg_kbn3') AS "КБН-3",
avgIf(value, name = 't_fg_kbn4') AS "КБН-4",
avgIf(value, name = 't_fg_kbn1_target') AS "КБН-1 задание",
avgIf(value, name = 't_fg_kbn2_target') AS "КБН-2 задание",
avgIf(value, name = 't_fg_kbn3_target') AS "КБН-3 задание",
avgIf(value, name = 't_fg_kbn4_target') AS "КБН-4 задание"
FROM default.angc3_raw_data
WHERE ts_kafka BETWEEN toDateTime64(1672524000, 3) AND toDateTime64(1704060000, 3)
AND name IN (
't_fg_kr_term1',
't_fg_kr_term2',
't_fg_kr_term3',
't_fg_kbn1_term1',
't_fg_kbn1_term2',
't_fg_kbn2_term1',
't_fg_kbn2_term2',
't_fg_kbn3_term1',
't_fg_kbn3_term2',
't_fg_kbn4_term1',
't_fg_kbn4_term2',
't_fg_kbn1',
't_fg_kbn2',
't_fg_kbn3',
't_fg_kbn4',
't_fg_kbn1_target',
't_fg_kbn2_target',
't_fg_kbn3_target',
't_fg_kbn4_target'
)
GROUP BY t
ORDER BY t
в результате
525601 rows in set. Elapsed: 7.221 sec. Processed 365.84 million rows, 12.60 GB (50.67 million rows/s., 1.75 GB/s.)
читает много лишний строк, что я делаю не правильно?
данных в день 10 миллионов, информация с датчиков, временные ряды