Задать вопрос
@David5

Почему Clickhouse читает много строк?

Добрый день подскажите, как можно оптимизировать запросы к 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 миллионов, информация с датчиков, временные ряды
  • Вопрос задан
  • 31 просмотр
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы