184 похожих чатов

Подскажите, как можно ускорить выборку из SummingMergeTree? В сутки примерно

+1 млрд записей в таблицу. ORDER BY достаточно большой, поэтому задал PRIMARY KEY по первым двум полям (типы DateTime и IPv4), т.к. выборка по ним идёт больше всего.
Знаю, что можно добавить индексов в таблицу, но не особо помогают. Может, я их неправильно готовлю, не пойму.
В среднем, запросы выполняются от 4-5 секунд, в зависимости от выбранного интервала времени. Почему грешу на индекс - вижу в SELECT count(), что вытаскивается 150 тысяч строк, а в запросе Processed 5.21 million rows, т.е. индекс явно не используется.

11 ответов

31 просмотр

нужны детали, например ДДЛ таблицы и запрос

Казанский- Автор вопроса
【D】【J】
нужны детали, например ДДЛ таблицы и запрос

Около 10 колонок, ORDER BY включает 8 колонок, кроме двух, по которым собирается аггрегация. PRIMARY KEY строю по DateTime и IPv4 (тип колонки). Исходные данные забираю из "большой" таблицы на 35 колонок, которая MergeTree.

Казанский
Около 10 колонок, ORDER BY включает 8 колонок, кро...

т.е. вы выстрелили себе в ногу положив DateTime первым в индекс?

Dmitriy S
А можете уточнить, чем это плохо?

Тем, что у вас идёт фулл скан таблицы при любом запросе

Константин
Тем, что у вас идёт фулл скан таблицы при любом за...

либо явно указывать рамки, чтобы сканил только одну партицию?

Dmitriy S
либо явно указывать рамки, чтобы сканил только одн...

Я ошибся, фулл скан партиций в которые попадает WHERE dateTime

Константин
Я ошибся, фулл скан партиций в которые попадает WH...

а это будет в свежих версиях КХ поправлено? 😱

Казанский- Автор вопроса
Denny [Altinity]
т.е. вы выстрелили себе в ногу положив DateTime пе...

А там DateTime с 10-минутными интервалами, то есть в одно такое значение DateTime мы получаем несколько млн строк, поэтому он и в индексе. Я не пойму, почему кликхаус в выборку берёт слишком много строк, индекс по DateTime-то есть.

Казанский
А там DateTime с 10-минутными интервалами, то есть...

там все очень тупо и надежно работает и там все очевидно. но всплепую, без конкретики это не объяснить

Казанский- Автор вопроса
Denny [Altinity]
там все очень тупо и надежно работает и там все оч...

А где можно почитать про работу индексов подробнее?

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

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Всем привет! Кто пользуется DevExpress, подскажите пожалуйста, реализован ли в TcxGrid в новых версиях поиск по датам как в Экселе (ну т.е. не просто список чекбоксов со значе...
A Z
4
Карта сайта