Size: a a a

ClickHouse не тормозит

2020 June 17

AK

Andrew Kochen in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
это был deadlock, иногда такое бывает в версии до 19.14
хм, у меня 19.17 ..
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Andrew Kochen
хм, у меня 19.17 ..
значит баг остался
источник

A

Anton in ClickHouse не тормозит
не подскажете ссылку на какую-нибудь доку по схеме данных for dummies?
источник

A

Anton in ClickHouse не тормозит
с нуля делаю базу и хочу сразу запилить правильныую схему
источник

NN

Nick Nizovtsev in ClickHouse не тормозит
Вразумите на путь )
Есть таблица событий со столбцами created_at, name, value.
Пытаюсь выбрать из списка всех name из одного временного периода суммы по другим временным периодам, использую вложенный запрос типа:
SELECT toDate(created_at) as date, sum(value), count()
FROM table_name, (
 SELECT DISTINCT name
 FROM table_name
 WHERE created_at >= toDateTime('2020-01-01 00:00:00')
 AND created_at < toDateTime('2020-01-01 23:59:59')
) actual_names
WHERE table_name.name = actual_names.name
GROUP BY date
Запрос такого типа обсчитывается намного дольше чем простое суммирование без учёта name, как сделать такое правильно?
источник

ДУ

Денис Устинов... in ClickHouse не тормозит
Nick Nizovtsev
Вразумите на путь )
Есть таблица событий со столбцами created_at, name, value.
Пытаюсь выбрать из списка всех name из одного временного периода суммы по другим временным периодам, использую вложенный запрос типа:
SELECT toDate(created_at) as date, sum(value), count()
FROM table_name, (
 SELECT DISTINCT name
 FROM table_name
 WHERE created_at >= toDateTime('2020-01-01 00:00:00')
 AND created_at < toDateTime('2020-01-01 23:59:59')
) actual_names
WHERE table_name.name = actual_names.name
GROUP BY date
Запрос такого типа обсчитывается намного дольше чем простое суммирование без учёта name, как сделать такое правильно?
покажи show create table_name
источник

NN

Nick Nizovtsev in ClickHouse не тормозит
Денис Устинов
покажи show create table_name
CREATE TABLE default.table_name
(
   created_at DateTime('UTC'),
   name String,
   value Decimal(12, 4)
)
ENGINE = MergeTree()
PARTITION BY (toYYYYMM(created_at))
ORDER BY (name)
SETTINGS index_granularity = 8192
источник

l

lnuynxa in ClickHouse не тормозит
Nick Nizovtsev
Вразумите на путь )
Есть таблица событий со столбцами created_at, name, value.
Пытаюсь выбрать из списка всех name из одного временного периода суммы по другим временным периодам, использую вложенный запрос типа:
SELECT toDate(created_at) as date, sum(value), count()
FROM table_name, (
 SELECT DISTINCT name
 FROM table_name
 WHERE created_at >= toDateTime('2020-01-01 00:00:00')
 AND created_at < toDateTime('2020-01-01 23:59:59')
) actual_names
WHERE table_name.name = actual_names.name
GROUP BY date
Запрос такого типа обсчитывается намного дольше чем простое суммирование без учёта name, как сделать такое правильно?
может проще через IN сделать?
источник

l

lnuynxa in ClickHouse не тормозит
сколько разных name выходит?
источник

NN

Nick Nizovtsev in ClickHouse не тормозит
в текущей выборке сотни, при общем размере таблицы в несколько миллионов строк
источник

NN

Nick Nizovtsev in ClickHouse не тормозит
предполагается увеличение name до сотни тысяч
источник

NN

Nick Nizovtsev in ClickHouse не тормозит
и размер основной таблицы до нескольких миллиардов записей
источник

NN

Nick Nizovtsev in ClickHouse не тормозит
lnuynxa
может проще через IN сделать?
не пробовал, можете с синтаксисом подсказать как оно будет выглядеть?
источник

l

lnuynxa in ClickHouse не тормозит
скорее всего in плохо будет работать с сотнями тысяч значений в правой части
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Anton
не подскажете ссылку на какую-нибудь доку по схеме данных for dummies?
все в одну очень широкую таблицу, все что можно закодировать через справочники в словари
источник

NN

Nick Nizovtsev in ClickHouse не тормозит
попробовал в текущей ситуации - IN сработал примерно на порядок лучше
источник

l

lnuynxa in ClickHouse не тормозит
Nick Nizovtsev
попробовал в текущей ситуации - IN сработал примерно на порядок лучше
ну это пока мало значений справа. дальше будет хуже
источник

NN

Nick Nizovtsev in ClickHouse не тормозит
попробую на тысячах
источник

NN

Nick Nizovtsev in ClickHouse не тормозит
на 5 тысячах actual_names и десятке миллионов в общей таблице деградации нет
источник

NN

Nick Nizovtsev in ClickHouse не тормозит
спасибо, пока годится
источник