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 ответов

16 просмотров

это нормально функционирование. В первом запросе 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 ...

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта