Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
03.10.2003, 09:47
|
|||
---|---|---|---|
|
|||
Оптимизация insert select'a |
|||
#18+
Существует запрос 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 млн. в день ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.10.2003, 17:18
|
|||
---|---|---|---|
Оптимизация insert select'a |
|||
#18+
Наличие выражения в group by заставит сервер просматривать записи одна за другой, не используя для этого индексы.. Нельзя тут сделать group by f_loginsrc,f_logindst,f_typesrc,f_typedst,fsrc,fdst ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.10.2003, 01:24
|
|||
---|---|---|---|
|
|||
Оптимизация insert select'a |
|||
#18+
Увы нет. последовательное построение нарушит необходимую уникальность. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.10.2003, 13:38
|
|||
---|---|---|---|
Оптимизация insert select'a |
|||
#18+
как вариант - добавить в БД еще одно поле и писать в него какой-нибудь хеш (md5, sha1 или что сам захочешь) от указанных в GROUP BY полей md5(concat(f_loginsrc,':',f_logindst,':',f_typesrc,':',f_typedst,':',fsrc,':',fdst)) это конечно будет избыточными данными, но работать должно быстрее (ИМХО) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=47&mobile=1&tid=1855745]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 320ms |
total: | 475ms |
0 / 0 |