GROUP BY по генерируемому полю - нагрузка?

Горбушка

Ищу её...
Регистрация
2 Май 2008
Сообщения
3.444
Реакции
2.524
Всем привет... Интересует мнение профи вот на такой ***но-код ***но-запрос:
Код:
SELECT 
	*,
	count(*) AS `count`,
	concat(`type`,
	`user`,
	FROM_UNIXTIME(`date`, '%Y%m%d%H')) AS `concat`,
	FROM_UNIXTIME(`date`, '%H') AS `hour`
FROM 
	`table` 
WHERE 
	`date` > UNIX_TIMESTAMP(CURRENT_DATE()) - 86400 * 2 
GROUP BY 
	concat(`type`, `user`, FROM_UNIXTIME(`date`, '%Y%m%d%H')) 
ORDER BY 
	`user`,
	`type`;
Собственно, я не спрашиваю, будет ли от этого нагрузка - оно и понятно... Меня интересует насколько это тяжёлый запрос. Т.е. это "пойдёт для отчётов" или "Да ты БД убьёшь!"...

Запрос используется на тестовом стенде для генерации ипанутого отчёта ))

Отдельно меня интересует GROUP BY... Насколько возрастает нагрузка, если группировать по генерируемому полю, к примеру, из двух полей. Ну или как у меня, из 3-х...
 
А есть данные в живой базе? чтобы внятно запустить запрос и посмотреть за сколько отработает.

+ посмотреть EXPLAIN QUERY
 

Выгрузка за пару дней + создание структуры

Ну конкретно на этой задаче отрабатывает за миллисекунды... Данных мало, да и там индексы одни... Не интересно )))
Меня глобально интересует насколько плохо такое использовать на боевых стендах... Что плохо - понятно, но насколько?

P.s. Сервер MySQL 5.6 с планом на 5.7 или MariaDB 10.x
 
Ну конкретно на этой задаче отрабатывает за миллисекунды... Данных мало, да и там индексы одни... Не интересно )))
Меня глобально интересует насколько плохо такое использовать на боевых стендах... Что плохо - понятно, но насколько?
как будто тебе кто-то скажет в процентном соотношений на сколько)

У тебя там индексы тусуются, я думаю что всё будет происходить в пределах разумного... в любом случае ты начнёшь чувствовать на миллионных записях.
 
Назад
Сверху