Size: a a a

ClickHouse не тормозит

2020 July 25

VM

Vladimir Mihailenco in ClickHouse не тормозит
меня напрягает еще что запрос за 2 секунды отрабатывает со сброшенным кешем
источник

VM

Vladimir Mihailenco in ClickHouse не тормозит
т.е. подозрительно быстро для моего железа, хотя может сжатие хорошее
источник

VM

Vladimir Mihailenco in ClickHouse не тормозит
SELECT data FROM table AS s PREWHERE (s.project_id = 2) AND (s.time >= '2020-07-24 06:10:00') AND (s.time < '2020-07-25 06:10:00') AND (s.type != '') ORDER BY "duration" desc LIMIT 10
источник

AZ

Anton Zhuravsky in ClickHouse не тормозит
Я полагаю, замена PREWHERE на обычный WHERE не помогает?
источник

VM

Vladimir Mihailenco in ClickHouse не тормозит
нет, было where изначально - это я уже мудрю
источник

AZ

Anton Zhuravsky in ClickHouse не тормозит
(в вашем случае должно «само» догадаться)
источник

D

Dj in ClickHouse не тормозит
Vladimir Mihailenco
SELECT data FROM table AS s PREWHERE (s.project_id = 2) AND (s.time >= '2020-07-24 06:10:00') AND (s.time < '2020-07-25 06:10:00') AND (s.type != '') ORDER BY "duration" desc LIMIT 10
у вас order by есть, он будет читать все строки соответствующие условиям
сравните сколько считано с prewhere и where? лучше смотреть в трейс
источник

AZ

Anton Zhuravsky in ClickHouse не тормозит
К сожалению, у меня нет идей, кроме «вот так сложилось» (например, разбросаны значения для чтения по таблице, приходится читать много кусков, искать соотв строки в них, и выходит такой дикий перерасход по данным)
источник

VM

Vladimir Mihailenco in ClickHouse не тормозит
Если заменить ORDER BY duration на ORDER BY колонка из ключа то начинает работать быстрее. Так должно быть или есть надежда как-то ускорить?
источник

D

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

Есть одна таблица из 200М записей с движком ReplacingMergeTree
Зависает запросе  select * from  tabname  limit 1, но если добавить любое условие, то отрабатывает.
Кто-то с таким сталкивался? Куда копать?
партов сколько в таблице? если очень много - было такое тоже...
источник

VM

Vladimir Mihailenco in ClickHouse не тормозит
>у вас order by есть, он будет читать все строки

так и происходит - я надеялся он может сначала отфильтровать по ключу и не читать все данные - хотя быть 10-15%
источник

WA

WAS AV in ClickHouse не тормозит
Dj
партов сколько в таблице? если очень много - было такое тоже...
6463
источник

VM

Vladimir Mihailenco in ClickHouse не тормозит
т.е. сначала отсортировать и прочитать только нужное количество строк отсортированных
источник

D

Dj in ClickHouse не тормозит
Vladimir Mihailenco
>у вас order by есть, он будет читать все строки

так и происходит - я надеялся он может сначала отфильтровать по ключу и не читать все данные - хотя быть 10-15%
ну и какие результаты с prewhere?
источник

D

Dj in ClickHouse не тормозит
WAS AV
6463
а колонок тоже?
источник

VM

Vladimir Mihailenco in ClickHouse не тормозит
>ну и какие результаты с prewhere?
то же самое - читает на 2 тысячи строк меньше - но это капля в море
источник

VM

Vladimir Mihailenco in ClickHouse не тормозит
сейчас скину гист
источник

VM

Vladimir Mihailenco in ClickHouse не тормозит
источник

VM

Vladimir Mihailenco in ClickHouse не тормозит
Т.е. сейчас мой вопрос такой - можно как-то ускорить запрос с ORDER BY duration? чтобы работал примерно так же как и ORDER BY project_id
источник

VM

Vladimir Mihailenco in ClickHouse не тормозит
Еще заметил что оптимизация (MergingSortedTransform?) работает только если ORDER BY first_column_in_key . Если уже сортировать по 2ой колонке в ключе - то опять читает все данные. Так должно быть?
источник