Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Работа Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
 Re: Нужна платная консультация по настройке MySQL 8  [new]
Guzya
Member

Откуда:
Сообщений: 450
Eugene Zhulkov
Eugene Zhulkov,

Пожалуйста:

mysql> explain analyze select country from dim_users;
+-----------+
| EXPLAIN   
+-----------+
| -> Index scan on dim_users using country_idx  (cost=428631.85 rows=4208241) (actual time=0.035..8152.934 rows=4228692 loops=1)
+-----------+
1 row in set (9.27 sec)

mysql> explain analyze select country,count(1) from dim_users where country is not null group by country;
+-----------+
| EXPLAIN
+-----------+
| -> Group aggregate: count(1)  (actual time=188.681..12236.663 rows=10 loops=1)
|    -> Filter: (dim_users.country is not null)  (cost=425189.57 rows=2104120) (actual time=0.028..9545.753 rows=3773927 loops=1)
|        -> Index range scan on dim_users using country_idx  (cost=425189.57 rows=2104120) (actual time=0.027..8286.962 rows=3773927 loops=1)
+-----------+
1 row in set (12.24 sec)



Получается основной затык это чтение индекса, т.е. чтение с диска.
У Вас точно тот же диск в разделе с postgres, может там другой диск смонтирован?
18 мар 20, 22:41    [22101832]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по настройке MySQL 8  [new]
Eugene Zhulkov
Member

Откуда:
Сообщений: 29
Alex_Ustinov,

Спасибо за советы! Попробую поставить для начала версию MySQL 5.7, может там не будет таких проблем. Если не получится, то попробую на MariaDB, но мне надо почитать их описание функций, поддерживаются ли некоторые из тех, что мы используем при аналитике.

Прикладная проблема еще в том, что нужны adhoc-запросы, то есть group by country это один из многих примеров того, как будут гонять этот датасет. Тут на всю возможную комбинацию колонок индексы уже не построишь.
18 мар 20, 22:42    [22101833]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по настройке MySQL 8  [new]
Eugene Zhulkov
Member

Откуда:
Сообщений: 29
Guzya,

Абсолютно тот же диск, даже так - стоял постгрес в виде пакета, результаты были быстрые.
Сейчас я поставил постгрес в докере, чтобы быстрее развернуть для тестирования.

MySQL по прежнему в виде пакета.
18 мар 20, 22:44    [22101835]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по настройке MySQL 8  [new]
Alex_Ustinov
Member

Откуда: Nickel
Сообщений: 3055
Eugene Zhulkov,

не, в 5,7 тоже самое. И нет оконных функций. В идеале вам бы они нужны, если группировки различные. Разобраться бы с ними.
это старый недостаток InnoDB, не тратьте время
18 мар 20, 23:10    [22101841]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по настройке MySQL 8  [new]
Eugene Zhulkov
Member

Откуда:
Сообщений: 29
Alex_Ustinov,

Я могу перезалить в MyISAM, не принципиально
Плюс попробую MariaDB
18 мар 20, 23:18    [22101842]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по настройке MySQL 8  [new]
mayton
Member

Откуда: loopback
Сообщений: 45376
Статистика пользователей по странам - вещь не сильно оперативная.

Ее можно материализовать. И обновлять по времени. Или по событию.
19 мар 20, 01:42    [22101863]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по настройке MySQL 8  [new]
Eugene Zhulkov
Member

Откуда:
Сообщений: 29
mayton
Статистика пользователей по странам - вещь не сильно оперативная.

Ее можно материализовать. И обновлять по времени. Или по событию.


База полностью read-only, там никогда не будет вставок или обновлений
19 мар 20, 08:11    [22101897]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по настройке MySQL 8  [new]
mayton
Member

Откуда: loopback
Сообщений: 45376
Тогда ещё лучше.
19 мар 20, 08:48    [22101903]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по настройке MySQL 8  [new]
Eugene Zhulkov
Member

Откуда:
Сообщений: 29
[quot Alex_Ustinov#22101827]
Eugene Zhulkov
пропущено...


Самый простой вариант перевести в MyIsam Aria
не знаю насколько у вас важна отказоустойчивость, суть в следующем
в Ubuntu 18 по умолчанию идет MariaDB это тот же MySQL (не вдаваясь в подробности)
в MariaDB вместо MyIsam используется движок Aria, не буду опять же заострять внимание в разнице джижков.
Я бы оставил MariaDB и эту таблицу держал бы на движке Aria. Выборки предположительно были бы не больше 2-3 сек. подтвердить не могу, доказать не могу. Тестовых данных нет. Завтра будет скучно - сгенерирую к вечеру.
В общем то можете пробовать и с MyIsam. У меня личная неприязнь к MySQL я работаю с MariaDB...психологически доверия больше)


Для информации - поставил последнюю MariaDB и залил таблицы в Aria-движок. Время улучшилось с 12 до 6 секунд.
20 мар 20, 18:36    [22103159]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по настройке MySQL 8  [new]
Alex_Ustinov
Member

Откуда: Nickel
Сообщений: 3055
Eugene Zhulkov,

план запроса бы показали.
там похоже надо тюнить настройки ДБ
с дефолтовыми настройками может тормозить
21 мар 20, 19:17    [22103680]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по настройке MySQL 8  [new]
mayton
Member

Откуда: loopback
Сообщений: 45376
А я предлагал 0 секунд.

Ох консерваторы....
21 мар 20, 19:21    [22103684]     Ответить | Цитировать Сообщить модератору
 Re: Нужна платная консультация по настройке MySQL 8  [new]
Eugene Zhulkov
Member

Откуда:
Сообщений: 29
mayton
А я предлагал 0 секунд.

Ох консерваторы....


Нам нужна просто быстрая база для выполнения различных adhoc-запросов
То, что я привел в качестве примера, все-лишь один из десятков аналогичных и более сложных аналитических запросов, которые будут выполняться на базе.
22 мар 20, 08:49    [22103854]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
Все форумы / Работа Ответить