|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Ivan Voytas 2:450/118.14 22 Dec 2002 04:03:32 To : Victor Sudakov Subject : Учет тpаффика -------------------------------------------------------------------------------- Вспоминаю, что как-то, 21 Дек 02 кажется в 17:45, Victor Sudakov напиcал для Ivan Voytas вот такое: VS> Возьмем к примеру такую таблицу: VS> srcIP dstIP prot srcPort dstPort octets VS> packets 195.184.192.18 213.59.238.11 17 53 53 58 VS> 1 213.241.5.3 213.59.238.11 17 37610 53 629 VS> 9 212.5.219.31 213.59.238.11 17 4056 53 143 VS> 2 194.67.45.10 213.59.239.186 6 80 1605 40 VS> 1 193.233.109.10 213.59.238.98 6 3008 80 542 VS> 5 195.2.91.103 213.59.239.186 6 80 1610 52 VS> 1 VS> Так вот скрипт на awk вида VS> awk '{total[$2]+=$6} END {while (i in total) print i, total[i]}' < table VS> будет почти всегда быстрее, чем VS> select sum(octets) from table group by dstIP; VS> в силу того, что awk проедет по таблице ровно один раз и накопит все VS> результаты в массиве total, тогда как СУБД будет елозить по таблице VS> многократно (скорее всего понадобится один проход на каждое значение VS> dstIP). По крайней мере PostgreSQL и MySQL вели себя именно так и VS> проигрывали. Я даже наблюдал в PostgreSQL парадоксальный результат: VS> когда поле dstIP было проиндексировано, время генерации отчета резко VS> возрастало. Извините, уважаемый, но это бред. могу посоветовать сделать time cat file> /dev/null на пятигигабайтном файле. Hа scsi raid. И потом сравнить это с select на такой же проиндексированной базе. Это был Ivan Voytas. --- Пластилин вреден для здоровья (хотя если его не есть, то ничего). * Origin: Wanq (wanq@telecom.by, ICQ 119384846) (2:450/118.14) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/33093e052c45.html, оценка из 5, голосов 10
|