Задавайте вопросы, мы ответим
Вы не зашли.
Привет тебе, о несокрушимый All!
Есть, к примеру, вот такой запрос:
SELECT host, SUM(srv_bytes), SUM(clt_bytes) FROM `hosts` WHERE clt_ip='192.168.0.232' and ts>='904010000' and ts<'905010000' group by host order by SUM(srv_bytes) desc
Сей запрос весьма грузит SQL-сервер, поскольку приходится перелопачивать очень много данных в таблице. Хочу облегчить жизнь за счёт создания индексов. Но не знаю, какой индекс тут создать, и особенно - имеет ли смысл индексировать столбец srv_bytes? Как проиндексировать сумму значений и имеет ли это смысл? Имеют ли вообще смысл индексы в этой ситуации? Может быть, вопросы тупые, но я пока не разобрался в логике их работы.
Неактивен
Для конкретно этого запроса нужен индекс на (clt_ip, ts). Дополнительные поля туда добавлять
бесполезно, т.к. по ts уже будет range.
Неактивен