
Alexander
13.09.2017
21:38:43
либо ещё один вариант - постоянно выдёргивать завершённые сессии и складывать куда-то ещё, в nosql...

Al
13.09.2017
21:39:04
А смысл

Алексей
14.09.2017
03:07:40

Al
14.09.2017
04:09:44

Google

Ilia
14.09.2017
04:38:40

Alexander
14.09.2017
04:52:35
придётся ... всем спасибо

Denis
14.09.2017
04:55:01
придётся ... всем спасибо
а у вас username идет именно строкой? если бы там был userid, есть шанс что группировка шла бы быстрее

Alexander
14.09.2017
04:55:27
строкой ...
придётся завершённые сессии вытаскивать в аггрегирующую таблицу

Ilia
14.09.2017
05:57:16

Denis
14.09.2017
06:12:18
На 5% ?
процентов на 20 прирост дать вполне может

Alexander
14.09.2017
06:15:21
покурю насчёт start/stop

Ilia
14.09.2017
06:40:49
Оптимизация запроса — это ускорение его минимум на порядок.

Vasya
14.09.2017
06:41:17
16

Ilia
14.09.2017
06:41:29
Лучше на 2-3 порядка

Google

Denis
14.09.2017
06:43:34
Все верно, но ты вообще предложил парню страдать

Ilia
14.09.2017
06:44:35
Так а чёго ему ещё делать?
С такими запросами...
ССЗБ!

Denis
14.09.2017
06:46:02
Я не знаю, что под капотом у mysql, но в pg я бы посоветовал ему покрывающий индекс по полю группировки и полям агрегации. Ну и активно фризить таблицу.

Ilia
14.09.2017
06:46:24
Какой индек, он ВСЮ ТАБЛИЦУ выбирает!
Покрывающие индексы это вообще зло. Не надо их форсить.
Ксати , нездоровая тенденция последних лет ... блин, лет 5ти

Denis
14.09.2017
06:47:48
Ненене, покрывающие индексы - это отличная тема.

Ilia
14.09.2017
06:47:53
Каждый форсит покрывающий индекс.
Это гнилая тема.

Denis
14.09.2017
06:48:09
Почему?

Ilia
14.09.2017
06:48:13
Ты не сделаешь на все запросы покрывающие индексы
Завтра запрос поменяли, добавили одно полюшко — всё, в сад, с копыт.
Потом, покрывающий индекс (В ЭТОМ ЗАПРОСЕ) не сильно и поможет. Может, в 2 раза ускорит. А надо (повторяюсь) на порядки.

Denis
14.09.2017
06:49:57
Покрывающие индексы хороши для агрегаций. А добавление дополнительного роля агрегации всегда черевато

Ilia
14.09.2017
06:50:21
Почему?
Идеологически покрывающий индекс сродни денормализации. Такая же тупая дебильная технология.

Denis
14.09.2017
06:50:45

Ilia
14.09.2017
06:50:48
И бесполезная в 90% случаев
Ладно, это лирика всё

Google

Ilia
14.09.2017
06:51:00
Нет не говорил
Но видимо немаленькая, видимо, лог какого-то девайса.
Если бы таблица была маленькой, он бы сюда не прибежал.

Vladislav
14.09.2017
06:51:47

Ilia
14.09.2017
06:52:00
Наверное, несколько сот тыщ записей

Denis
14.09.2017
06:52:48
Это очень долго для нескольких кк записей. Миллионов - да, ещё возможно

Ilia
14.09.2017
06:52:49
Ладно, не важно. Автор пусть либо колется, либо страдает.

Vladislav
14.09.2017
06:54:22
У меня был проект, где денормолизация и покрывающие индексы были в одном флаконе и прирост был колоссальный, как и профит от этого

Denis
14.09.2017
06:54:35

Vladislav
14.09.2017
06:54:50
Все зависит от данных и как их использовать

Ilia
14.09.2017
06:55:08
А так ему нужно ловить в таблице окончания сессий и отваливать в отдельную таблицу последних сессий сессии по юзерам. Тогда будет быстро
Но это ему уже сказали.

Виктор
14.09.2017
06:57:59

Ilia
14.09.2017
06:59:31
А ну тогда вообще трындец.

Alexander
14.09.2017
07:03:19
по имени таблицы radacct видно, что это radius accounting, грубо говоря - логи пользователей, которые через radius-сервер приходят

Denis
14.09.2017
07:05:36

Vladislav
14.09.2017
07:08:00
Прикольно, когда старт сессии в одной партиции, а окончание в другой ??

Google

Ilya
14.09.2017
07:10:21
проблема будет в извлечении

Ilia
14.09.2017
07:10:40

Vladislav
14.09.2017
07:11:27

Алексей
14.09.2017
07:12:03
Разработчики freeradius не могут предусмотреть всех "хотелок" тех, кто будет пользоваться их продуктом. Лет 10 назад, когда в компании, где я работал, прикручивали freeradius к биллингу, создали дополнительно еще несколько таблиц, для тех задач, которые нужны были биллингу, но не предусмотрены были во freeradius.

Denis
14.09.2017
07:12:16
Правда это убивает идею преагрегации

Vladislav
14.09.2017
07:13:20

Ilia
14.09.2017
07:13:41
А если партицировать по хешу пользователя?
Денис, ты не идеи толкай, а полностью изложи мысль. ЕСЛИ мы сделаем то-то и то-то, ТО будет то-то И запрос будет работать ТАК.
Я уверен, что когда ты дойдёшь до конца таких рассуждений, идеи отпадут

Denis
14.09.2017
07:15:11

Ilia
14.09.2017
07:15:37
Чтобы ближе был...
есть запрос:
explain SELECT username, max(acctstarttime) AS last_session_start , IFNULL(MAX(acctstoptime), 0) AS last_session_end, SUM(acctinputoctets+acctoutputoctets) AS data_usage FROM radacct GROUP BY username ORDER BY max(acctstoptime) ASC;

Denis
14.09.2017
07:35:36
Если я правильно понимаю, это по факту таблица логирования. При таких объемах и требуемой скорости по ней real time аналитику не построишь. Значит, нужна ещё одна таблица, где у каждого пользователя будут апсертиться последние данные о сессии, чтобы сколько уникальных пользователей, столько и строк. Ну и агрегацию делать по ней

Ilia
14.09.2017
07:36:19
Ну это уже высказывали в обсуждении.

Denis
14.09.2017
07:36:47
Ну тогда все правильно сказали, тут нужно архитектуру менять

Батыр
14.09.2017
07:43:18
Как посмотреть статистику заполнения таблспейсов в оракл
?
/stat@combot

Google

Combot
14.09.2017
07:44:20
combot.org/chat/-1001045152752

Алексей
14.09.2017
07:59:41

Alexander
14.09.2017
08:02:27
угу, направление примерно понятно, что делать. займусь ...

Igor
14.09.2017
08:11:18
https://huntflow.ru/insight/article/recruting-in-tinder
годный мануал тутешним HR

Ilia
14.09.2017
08:44:59
Ты чатик не попутал?

Igor
14.09.2017
08:53:12
Ненуашо

Rushan
14.09.2017
08:53:57
ой
не то )))
у ХР есть отдельные чаты

Ilya
14.09.2017
08:56:17
помницо эту хрюшу я тоже вежливо посылал. она мне java предлагала

Rushan
14.09.2017
08:56:43
хаха )))
Хрюша )) Надо запомнить

Ilya
14.09.2017
08:57:29
а я не хочу джаву.