Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация запроса агрегации к многомиллионной таблице / 3 сообщений из 3, страница 1 из 1
01.08.2018, 10:27
    #39681873
weblloyd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса агрегации к многомиллионной таблице
Всем привет!

Необходимо сделать такой запрос к таблице с 100 миллионами записей:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT
  `param`,
  `brand`,
  `screen`,
  COUNT(`id`) AS `requests`,
  SUM(`duration`) AS `duration_sum`,
  AVG(`duration`) AS `duration_avg`,
  COUNT(DISTINCT `device_id`) AS `devices`
FROM `statistic`
GROUP BY `param`, `brand`, `screen`



Запрос зависает на создании temporary table (думаю из-за COUNT(DISTINCT)) можно ли как то оптимизировать его? (скорость работы не так важна, но все же нужно чтобы он выполнялся, это агрегация данных которая запускается по скрипту раз месяц).
...
Рейтинг: 0 / 0
01.08.2018, 10:45
    #39681887
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса агрегации к многомиллионной таблице
Покажите полный ddl таблицы.
...
Рейтинг: 0 / 0
01.08.2018, 10:57
    #39681893
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса агрегации к многомиллионной таблице
id - первичный ключ? если да, замените COUNT(id) на COUNT(*).
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация запроса агрегации к многомиллионной таблице / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]