powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация insert select'a
5 сообщений из 5, страница 1 из 1
Оптимизация insert select'a
    #32282808
SmD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SmD
Гость
Существует запрос
insert into Statistics.TIP_Hosts_200309
(f_service,f_loginsrc,f_logindst,f_typesrc,f_typedst,fsrc,fdst,finb,foutb,fdate)
select 24,f_loginsrc,f_logindst,f_typesrc,f_typedst,fsrc,fdst,sum(finb),sum(foutb),fdate
from Statistics.TIP_NetFlow_200309 where fdate=20030912
group by concat(f_loginsrc,':',f_logindst,':',f_typesrc,':',f_typedst,':',fsrc,':',fdst)

можно ли его оптимизировать как-нить?
Например:
insert into Statistics.TIP_Hosts_200309
(f_service,f_loginsrc,f_logindst,f_typesrc,f_typedst,fsrc,fdst,finb,foutb,fdate)
select SQL_BIG_RESULT SQL_NO_CACHE 24,f_loginsrc,f_logindst,f_typesrc,f_typedst,fsrc,fdst,sum(finb),sum(foutb),fdate
from Statistics.TIP_NetFlow_200309 where fdate=20030912
group by concat(f_loginsrc,':',f_logindst,':',f_typesrc,':',f_typedst,':',fsrc,':',fdst)

количнство записей по селекту сказать сложно, но в таблице хостов их порядка 3 млн. в день
...
Рейтинг: 0 / 0
Оптимизация insert select'a
    #32283627
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наличие выражения в group by заставит сервер просматривать записи одна за другой, не используя для этого индексы..

Нельзя тут сделать group by f_loginsrc,f_logindst,f_typesrc,f_typedst,fsrc,fdst ?
...
Рейтинг: 0 / 0
Оптимизация insert select'a
    #32283948
SmD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SmD
Гость
Увы нет.
последовательное построение нарушит необходимую уникальность.
...
Рейтинг: 0 / 0
Оптимизация insert select'a
    #32284023
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вариант - добавить в БД еще одно поле и писать в него какой-нибудь хеш (md5, sha1 или что сам захочешь) от указанных в GROUP BY полей
md5(concat(f_loginsrc,':',f_logindst,':',f_typesrc,':',f_typedst,':',fsrc,':',fdst))

это конечно будет избыточными данными, но работать должно быстрее (ИМХО)
...
Рейтинг: 0 / 0
Оптимизация insert select'a
    #32284025
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> добавить в БД

я, конечно же, имел ввиду "Добавить в таблицу"

ЗЫ
и почему здесь свои мессаги редактировать нельзя :(
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация insert select'a
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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