Size: a a a

ClickHouse не тормозит

2020 May 18

И

Иван in ClickHouse не тормозит
Mikhail Mayorov
А подробнее можно плиз? Я чет запутался)) У меня как раз две таблицы и mv между ними. Т.е. не .inner табличка, а прям отдельную завел. ALTER MODIFY QUERY для всех же случаев должен работать? И для .inner и для to таблички?

И что-то никак не получается ALTER MODIFY QUERY заставить работать:
drop database if exists test;
create database test;
use test;
create table null(v UInt64) ENGINE = Null;
create table dest(v UInt64) Engine = Memory;
create materialized view pipe TO dest AS select v FROM null;
alter table pipe modify query select v * 2 as v FROM test.null;
Code: 48, e.displayText() = DB::Exception: Alter of type 'MODIFY QUERY' is not supported by storage MaterializedView (version 20.3.8.53 (official build))

Как его правильно готовить?
Я обычно делаю так:
1) если есть возможность выключить insert в source
2) alter table target
3) drop MV
4) create MV to target select ... from source (с новым ddl)
5) если не было возможности выключить insert в исходную таблицу - insert to target from source where <diff condition>
источник

MM

Mikhail Mayorov in ClickHouse не тормозит
Ага, теперь все на места встало. Пасибо.
источник

Y

Yury in ClickHouse не тормозит
Добрый день

посоветуйте

есть таблица с первичным ключом и партиционированием по дате
в таблице 1000000000 записей и 3000 партиция

Существует ли какой-либо способ быстро найти максимальную дату из таблице?

запросы такого вида работают медленно (4 и 10 секунд соответственно)
> select max(Date) from Table;
> select max(max_date) from system.parts where table ='Table';
источник

DT

Dmitry Titov in ClickHouse не тормозит
Yury
Добрый день

посоветуйте

есть таблица с первичным ключом и партиционированием по дате
в таблице 1000000000 записей и 3000 партиция

Существует ли какой-либо способ быстро найти максимальную дату из таблице?

запросы такого вида работают медленно (4 и 10 секунд соответственно)
> select max(Date) from Table;
> select max(max_date) from system.parts where table ='Table';
3 тысячи партиций?
источник

DT

Dmitry Titov in ClickHouse не тормозит
на 1 млн записей?
источник

Y

Yury in ClickHouse не тормозит
да
источник

DT

Dmitry Titov in ClickHouse не тормозит
Это Безумие
источник

Y

Yury in ClickHouse не тормозит
немного ошибся, на миллиард
источник

SC

Smoked Cheese in ClickHouse не тормозит
3к партиций, а не партов?
источник

DT

Dmitry Titov in ClickHouse не тормозит
у меня 1 партиция по 3 млрд записей
источник

Y

Yury in ClickHouse не тормозит
Smoked Cheese
3к партиций, а не партов?
да, партов, партиций порядка 1.5К
источник

ЕА

Егор Андреевич... in ClickHouse не тормозит
может и вопрос другой? :)
источник

Y

Yury in ClickHouse не тормозит
вопрос тот
извините за сумбур)
источник

DT

Dmitry Titov in ClickHouse не тормозит
в общем удаляйте все ненужные партиции, и покажите DDL таблицы
источник

SC

Smoked Cheese in ClickHouse не тормозит
можешь сделать типа select max(max_date) from system.parts where table = 'table_name'
источник

SC

Smoked Cheese in ClickHouse не тормозит
или max_time если у вас там DateTime
источник

DT

Dmitry Titov in ClickHouse не тормозит
SELECT date
FROM table
ORDER BY date DESC
LIMIT 1

в зависимости от таблицы такое может быть быстрее для некоторых таблиц
источник

Y

Yury in ClickHouse не тормозит
Smoked Cheese
можешь сделать типа select max(max_date) from system.parts where table = 'table_name'
первое что сделал

SELECT max(max_date)
FROM system.parts
WHERE (database = 'DB') AND (table = 'Table')

1 rows in set. Elapsed: 11.063 sec. Processed 3.01 thousand rows, 1.47 MB (272.44 rows/s., 133.21 KB/s.)
источник

SC

Smoked Cheese in ClickHouse не тормозит
> 272.44 rows/s
что-то у вас кликхаус работает не оптимально
источник

Y

Yury in ClickHouse не тормозит
Dmitry Titov
SELECT date
FROM table
ORDER BY date DESC
LIMIT 1

в зависимости от таблицы такое может быть быстрее для некоторых таблиц
пробовал, все равно делает фулл-скан
источник