Size: a a a

ClickHouse не тормозит

2021 March 14

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Sulaymon
делаю селект:
select orderId
from test
where metricType = 'status'and metricValue = 3
group by orderId, itemId, eventDateTime
order by itemId, eventDateTime desc
limit 1 by itemId;
в итоге выводит orderId = 1
вместо пустого ответа
Не улавливаю логики. Почему пустой?
источник

K

Konstantin Ilchenko in ClickHouse не тормозит
логично же что так выводит, фильтр по metricValue = 3 тогда выносите во внешний запрос
источник

S

Sulaymon in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
Не улавливаю логики. Почему пустой?
мне нужно было вывести все заказы у которых последний статус равен 3 если таких нет то не выводить, а в данном случае последний статус 4 что в итоге должно было быть пустой ответ
источник

S

Sulaymon in ClickHouse не тормозит
Konstantin Ilchenko
логично же что так выводит, фильтр по metricValue = 3 тогда выносите во внешний запрос
таки сделаю
источник

DG

David Gobronidze in ClickHouse не тормозит
Я тут слегка затупил. Репликационные вставки же не триггерят MV на реплике?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
David Gobronidze
Я тут слегка затупил. Репликационные вставки же не триггерят MV на реплике?
источник

DG

David Gobronidze in ClickHouse не тормозит
Спасибо
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
David Gobronidze
Спасибо
источник

DG

David Gobronidze in ClickHouse не тормозит
источник

DG

David Gobronidze in ClickHouse не тормозит
Все так и сделал. Вопрос в том, могу ли я сделать MV из правой MT в правый MV и, в случае чего (скажем, левая часть уходит в maintenance), благополучно переключиться на запись сразу в replica2
источник

DG

David Gobronidze in ClickHouse не тормозит
Правый MV будет простаивать, пока не начнутся прямые инсерты в MT replica2
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
David Gobronidze
Все так и сделал. Вопрос в том, могу ли я сделать MV из правой MT в правый MV и, в случае чего (скажем, левая часть уходит в maintenance), благополучно переключиться на запись сразу в replica2
да, видео все полностью смотрите и тогда вы поймете как работают вью внутри
источник

DG

David Gobronidze in ClickHouse не тормозит
Хорошо
источник

V

Vsevolod in ClickHouse не тормозит
Vsevolod
Обновился, не помогло, подзапрос все ещё выполняется каждый раз
кажется я понял, оптимизатор не понимает, по какой именно дате я ограничил запрос, и он фулсканит таблицу, что довольно фатально. Может есть какая опция?
источник
2021 March 15

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Vsevolod
кажется я понял, оптимизатор не понимает, по какой именно дате я ограничил запрос, и он фулсканит таблицу, что довольно фатально. Может есть какая опция?
может уже какие-нибудь примеры, хотя бы ddl ?
источник

V

Vsevolod in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
может уже какие-нибудь примеры, хотя бы ddl ?
CREATE TABLE bmmm.debts
(
   StartedDateTime DateTime ,
   FinishedDateTime DateTime COMMENT 'не заполняется',
   Network String ,
   ID String ,
   CreatedRec DateTime COMMENT 'дата создания записи ClickHouse',
   RowCreatedAt DateTime DEFAULT now(),
   INDEX IdxRowCreatedAt RowCreatedAt TYPE minmax GRANULARITY 1
)
ENGINE = ReplicatedReplacingMergeTree('/clickhouse/{installation}/{cluster}/tables/{shard}/bmmm/debts', '{replica}')
PARTITION BY toYYYYMM(StartedDateTime)
PRIMARY KEY StartedDateTime
ORDER BY (StartedDateTime, Network, ID)
SETTINGS index_granularity = 8192
источник

V

Vsevolod in ClickHouse не тормозит
фильтруется StartedDateTime
источник

V

Vsevolod in ClickHouse не тормозит
это основная таблица
источник

V

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

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Vsevolod
CREATE TABLE bmmm.debts
(
   StartedDateTime DateTime ,
   FinishedDateTime DateTime COMMENT 'не заполняется',
   Network String ,
   ID String ,
   CreatedRec DateTime COMMENT 'дата создания записи ClickHouse',
   RowCreatedAt DateTime DEFAULT now(),
   INDEX IdxRowCreatedAt RowCreatedAt TYPE minmax GRANULARITY 1
)
ENGINE = ReplicatedReplacingMergeTree('/clickhouse/{installation}/{cluster}/tables/{shard}/bmmm/debts', '{replica}')
PARTITION BY toYYYYMM(StartedDateTime)
PRIMARY KEY StartedDateTime
ORDER BY (StartedDateTime, Network, ID)
SETTINGS index_granularity = 8192
можно увидеть вывод set send_logs_level='debug'
и потом запрос select .... fromat Null
источник