large query by offset and limt - Mailing list pgsql-general

From finecur
Subject large query by offset and limt
Date
Msg-id 69019638-6acd-4e14-af1b-dea697a62620@p25g2000pri.googlegroups.com
Whole thread Raw
Responses Re: large query by offset and limt  (Steve Atkins <steve@blighty.com>)
Re: large query by offset and limt  (Craig Ringer <craig@postnewspapers.com.au>)
List pgsql-general
Hi, I am ruuning a database behind a webserver and there is a table
which is huge. I need to pull data from this table and send to user
through http. If I use

select * from huge_table where userid = 100

It will return millions of records which exhuasts my server's memory.
So I do this:

select * from huge_table where userid = 100 limit 1000 offset 0
and then send the results to user, then

select * from huge_table where userid = 100 limit 1000 offset 1000
and then send the results to user, then

select * from huge_table where userid = 100 limit 1000 offset 2000
and then send the results to user,

Continue this until there is no records available

It runs great but it is kind of slow. I think it is because even I
need only 1000 records, the query search the whole table every time.

Is there a better way to do this?

Thank you.

ff




pgsql-general by date:

Previous
From: tekwiz
Date:
Subject: Executing dynamic procedure call
Next
From: Steve Atkins
Date:
Subject: Re: large query by offset and limt