Delirium
22-07-2009, 01:10
Имеем логи с вышеуказанной системы. В таблицах Webproxylog - 350 000 записей, в Firewalllog - 4 000 000. Если писать простой запрос вида
select count(1) from firewalllog, то подсчет количества строк занимает около 4 секунд.
Если же запрос чуть чуть более сложный, а именно
select Destination, sum(bytesrecvd) from firewalllog where rtrim(destinationNetwork)='External' and bytesrecvd <>0.0
and rtrim(OriginalClientIP) = '172.28.95.1' and (logdate between '2009-07-01' and '2009-07-21')
group by Destination order by sum(bytesrecvd)
Запрос элементарный, однако после 45 минут ожидания результат не появился.
В чем проблема? Если я пишу запрос типа
select Destination from firewalllog where rtrim(destinationNetwork)='External'
То результат мгновенен. Т.е. индексы работают.
В чем может быть причина такой медленной обработки данных?
select count(1) from firewalllog, то подсчет количества строк занимает около 4 секунд.
Если же запрос чуть чуть более сложный, а именно
select Destination, sum(bytesrecvd) from firewalllog where rtrim(destinationNetwork)='External' and bytesrecvd <>0.0
and rtrim(OriginalClientIP) = '172.28.95.1' and (logdate between '2009-07-01' and '2009-07-21')
group by Destination order by sum(bytesrecvd)
Запрос элементарный, однако после 45 минут ожидания результат не появился.
В чем проблема? Если я пишу запрос типа
select Destination from firewalllog where rtrim(destinationNetwork)='External'
То результат мгновенен. Т.е. индексы работают.
В чем может быть причина такой медленной обработки данных?