Re: Performance delay - Mailing list pgsql-performance

From Hasnul Fadhly bin Hasan
Subject Re: Performance delay
Date
Msg-id 41E65802.5070400@mimos.my
Whole thread Raw
In response to Re: Performance delay  (Richard Huxton <dev@archonet.com>)
Responses MOVE command
Re: Performance delay
List pgsql-performance
Hi Richard,

Thanks for the reply.. is that the case? i thought it would comply to
the where condition first..
and after that it will format the output to what we want..

Hasnul

Richard Huxton wrote:

> Hasnul Fadhly bin Hasan wrote:
>
>> Hi,
>>
>> just want to share with all of you a wierd thing that i found when i
>> tested it.
>>
>> i was doing a query that will call a function long2ip to convert
>> bigint to ips.
>>
>> so the query looks something like this.
>>
>> select id, long2ip(srcip), long2ip(dstip) from sometable
>> where timestamp between timestamp '01-10-2005' and timestamp
>> '01-10-2005 23:59' order by id limit 30;
>>
>> for your info, there are about 300k rows for that timeframe.
>>
>> it cost me about 57+ secs to get the list.
>>
>> which is about the same if i query
>> select id, long2ip(srcip), long2ip(dstip) from sometable
>> where timestamp between timestamp '01-10-2005' and timestamp
>> '01-10-2005 23:59'
>>
>> it will cost me about 57+ secs also.
>>
>> Now if i did this
>> select id,long2ip(srcip), long2ip(dstip) from (
>> * from sometable
>> where timestamp between timestamp '01-10-2005' and timestamp
>> '01-10-2005 23:59' order by id limit 30) as t;
>>
>> it will cost me about 3+ secs
>
>
> The difference will be that in the final case you only make 30 calls
> to long2ip() whereas in the first two you call it 300,000 times and
> then throw away most of them.
> Try running EXPLAIN ANALYSE ... for both - that will show how PG is
> planning the query.
> --
>   Richard Huxton
>   Archonet Ltd
>
>


pgsql-performance by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Performance delay
Next
From: PFC
Date:
Subject: MOVE command