In response to Yan Cheng Cheok :
> As you can see, their select statement is the same. Except stored
> procedure is having additional 'QUERY'. Does that make the speed
> difference?

No. The problem is, the planner don't know the actual parameters. 
Therefore the planner picked out a wrong plan (seq-scan instead of
index-scan). You can avoid this by rewrite your function: use a dynamic
query, use EXECUTE.

Read more:
http://www.postgresql.org/docs/8.4/interactive/plpgsql-control-structures.html
Chapter 38.6.1.2. RETURN NEXT and RETURN QUERY


Andreas
-- 
Andreas Kretschmer
Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: -> Header)
GnuPG: 0x31720C99, 1006 CCB4 A326 1D42 6431  2EB0 389D 1DC2 3172 0C99

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to