Re: OFFSET and LIMIT - performance

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Jan Bilek" <bilekj(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: OFFSET and LIMIT - performance
Date: 2007-06-28 18:19:18
Message-ID: 17300.1183054758@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"Jan Bilek" <bilekj(at)gmail(dot)com> writes:
> I'm using PGDB with JDBC. In my app i need to select only portion of all =
> available rows. I know i can do it two ways:
> 1. I can use OFFSET and LIMIT SQL statements or
> 2. I can select all rows and then filter requested portion in Java.

> My question - Does the second way significantly affect performance =
> especially when used with JDBC?

Network transmission costs alone would make the second way a loser.

Large OFFSETs are pretty inefficient because the backend generates and
discards the rows internally ... but at least it never converts them to
external form or ships them to the client. Rows beyond the LIMIT are
not generated at all.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David Wall 2007-06-28 18:36:09 Re: OFFSET and LIMIT - performance
Previous Message Joshua D. Drake 2007-06-28 17:55:32 Re: i need a rad/ide open source for work with postgresql