одной таблицы files) я собрал сведения о 4 000 000+ файлах. Запрос
select
count(file_id) as "Count",
round(sum(file_size) / 1024 / 1024 / 1024, 2) as "GB",
max(updated) "Last_change"
from files
теперь выполняется 1-2 минуты. Это нормально, или путем настройки базы получение результата можно значительно ускорить?
Запрос аналитический так что индексы тут не помогут. значит либо диски надо пошустрее. Либо еще чтото ковырять.
И если у вас запросы аналитические то лучше сменить БД на соответствующую
А подскажите, в какую сторону посмотреть?
Clickhouse нынче в моде
4 млн это пока маловато для Кликхауза. Когда будет 4 миллиарда — тогда можешь подумывать.
Твой запрос не имеет фильтра и обрабатывает ВСЕ записи твоей таблицы, вычисляя агрегатные функции. Обработать так 4 млн - это серьёзная работа. То, что оно делает это за несколько минут — вполне ожидаемо и можно считать успехом.
Да нормально - у него сейчас 2 минуты идет. А будет 0.0001 секунда
Т.е. такое поведение является нормой.
Ну не стоит оно того. 2 минуты вполне ок
Для транзакционной БД которая обрабатывает все записи да
Из-за одного запроса конечно не стоит.
Да и для ОЛАП тоже, там времена в неск. минут считаются нормальными.
Иногда и час там считается нормой :)
Там другие критерии к выполнению запросов, хорошо, если запрос вообще закончится в обозримом будущем.
Обсуждают сегодня