Re: Performance with very large tables

From: Richard Huxton <dev(at)archonet(dot)com>
To: Jan van der Weijde <Jan(dot)van(dot)der(dot)Weijde(at)attachmate(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Performance with very large tables
Date: 2007-01-15 11:00:50
Message-ID: 45AB5EE2.70901@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Jan van der Weijde wrote:
> Hello all,
>
> one of our customers is using PostgreSQL with tables containing millions
> of records. A simple 'SELECT * FROM <table>' takes way too much time in
> that case, so we have advised him to use the LIMIT and OFFSET clauses.

That won't reduce the time to fetch millions of rows.

It sounds like your customer doesn't want millions of rows at once, but
rather a few rows quickly and then to fetch more as required. For this
you want to use a cursor. You can do this via SQL, or perhaps via your
database library.

In SQL:
http://www.postgresql.org/docs/8.2/static/sql-declare.html
http://www.postgresql.org/docs/8.2/static/sql-fetch.html
In pl/pgsql:
http://www.postgresql.org/docs/8.2/static/plpgsql-cursors.html

HTH
--
Richard Huxton
Archonet Ltd

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Shoaib Mir 2007-01-15 11:24:24 Re: Performance with very large tables
Previous Message Jan van der Weijde 2007-01-15 10:52:29 Performance with very large tables