|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Serge V.Panchenko 2:5054/28.1 31 Dec 2002 19:24:22 To : Victor Sudakov Subject : Учет тpаффика -------------------------------------------------------------------------------- 23 Dec 02 18:30, Victor Sudakov wrote to Eugene M Zheganin: VS> эквивалентный SQL запрос будет VS> select dstIP, sum(octets) from table group by dstIP; VS> Я мерял на файле размером 866M, 17750277 строк, PostgreSQL версии VS> 7.2.3 таблица создавалась с нуля путем "copy from file", VS> потом индексировалась по полю dstip. Hо наличие или отсутствие VS> индекса, как оказалось, на скорость практически не влияет. Конечно же, не влияет. Куска where-то нету, поэтому всё равно нужно сканировать _всю_ таблицу. Вот, если бы, ты создал составной индекс по dstIP и octets, то _нормальный_ сервер не стал бы читать всё таблицу, а скользнул бы по индексу. Или, например, у тебя бы было поле с датой и ты бы написал select dstIP, sum(octets) from table WHERE DATE BETWEEN D1 and D2 group by dstIP то при хорошой селективности индекса (данные за нескольк дней есть, а в выборку должны попасть меньше, чем отсеяться) ты бы получил от SQL-сервера хороший выигрыш. В общем, SQL-сервером тоже надо _уметь_ пользоваться. К чему это я? А к тому, что если ты решишь перейти от plain text файлов статистики к хранению данных на SQL-сервере, то не нужно из каждого лога создавать отдельную таблицу и потом сравнивать производительность. Hужно грамотно спроектировать базу данных, построить её на грамотном сервере и уж тогда... Короче, как всегда: ВСЁ ЗАВИСИТ ОТ ЗАДАЧИ. С уважением, Сережка В. Панченко... e-mail: svp220569@mail.ru http://www.uralexpress.ru --- GoldED+/W32 1.1.5-20020105 * Origin: Длинная веревка в пиве. (2:5054/28.1) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/27643e119c6f.html, оценка из 5, голосов 10
|