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

Коллеги, всем привет, не поможете с советом, как ускорить выполнение

первого запроса (поля с key - ключи сортировки, если это важно, в аналогичных запросах могут быть поля отличные от ключей сортировки) select count() from data where keyDate >= '2021-06-05' and keyDate <= '2021-06-25' AND (keytime >= 1622918404) AND (keytime <= 1624653604) AND (msg like '%a%' or msg like '%q%')
┌────count()─┐
│ 1289678421 │
└────────────┘
Progress: 4.41 billion rows, 705.71 GB (16.18 million rows/s., 2.59 GB/s.) 98↗️ Progress: 4.41 billion rows, 705.85 GB (16.18 million rows/s., 2.59 GB/s.) 99
1 rows in set. Elapsed: 272.462 sec. Processed 4.41 billion rows, 705.85 GB (16.18 million rows/s., 2.59 GB/s.)


select count() from data where keyDate >= '2021-06-05' and keyDate <= '2021-06-25' AND (keytime >= 1622918404) AND (keytime <= 1624653604) AND keyseverity='High' AND (msg like '%a%' or msg like '%q%')

Progress: 2.87 million rows, 264.25 MB (17.79 million rows/s., 1.64 GB/s.) 35
Progress: 7.57 million rows, 656.64 MB (28.74 million rows/s., 2.49 GB/s.) 94
┌─count()─┐
│ 18676 │
└─────────┘
Progress: 7.57 million rows, 656.64 MB (26.83 million rows/s., 2.33 GB/s.) 94↙️ Progress: 7.96 million rows, 701.37 MB (28.22 million rows/s., 2.49 GB/s.) 99
1 rows in set. Elapsed: 0.283 sec. Processed 7.96 million rows, 701.37 MB (28.13 million rows/s., 2.48 GB/s.) - сорри, что дублирую вопрос, кто-нибудь знает решение или это нормальное функционирование count?

3 ответов

15 просмотров

это нормально функционирование. В первом запросе Processed 4.41 billion rows , msg очень тяжелая колонка очевидно, и ее тупо надо читать с диска для 4 млрд. строк, распаковано в 705.85 GB. Во втором запросе Processed 7.96 million row, распаковано в 701.37 MB

Viacheslav- Автор вопроса
Denny [Altinity]
это нормально функционирование. В первом запросе...

Спасибо за ответ, но условия одинаковые, кроме одной опции в where, и если делать предварительный запрос с distint по ключам партиционирования, чтобы сократить выборку с первого запроса до второго (например, select distinct(keyseverity) from... и увидеть, что из них можно оставить только 'High' - этот вспомогательный запрос тоже будет не легким...) суммарное время выполнения останется прежним большим

Viacheslav- Автор вопроса
Viacheslav
Спасибо за ответ, но условия одинаковые, кроме одн...

замнутый круг получается, чтобы сократить select * from... limit..., можно попробовать сократить по нужному count () или понять по каким полям/условиям можно сократить выборку... а расчет count и/или поиск усекающих условий по тяжести в сумме дают такое же время, как select * from... limit ...

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Карта сайта