Subject: Last 'n' records?

From: [email-masked] (Bernhard Buettner)
Date: Fri, 16 Sep 1994 22:50:08 +0200

Hello Postgres experts,

I am currently developing amateur radio software utilizig Postgres 
with a friend. The application is going to be used as an on-line 
database run under packet radio. The database contains data records 
which are being entered by many different users and the growth is about 
10,000 records/month.

A problem arises with the fact that very often a user wants to 
retrieve "the last 'n'" records of the database. Reading through
the manual, I could not find an operator to do this. At this time,
the query is realised as follows:

     retrieve portal P unique (data.all) sort by date using >
     fetch 5 in P

This will take the whole relation, sort it by date and then retrieve
the last 5 (0.01%). This cannot be the solution, but we can't find
any better. Any hints, ideas?

Greetings, 

Ben
-- 
[] Bernhard Buettner (Ben)
[]      Mail: Am Brunnen 18, 85551 Kirchheim, Germany
[]  Internet: [email-masked]
[]    Packet: DL6RAI @ DB0AAB.#BAY.DEU.EU

==============================================================================
   To add/remove yourself to/from the POSTGRES mailing list: send mail with 
   the subject line ADD or DEL to "[email-masked]"

   If this fails, send mail to "[email-masked]" and
   a human will deal with it.  DO NOT post to the "postgres" mailing list.
==============================================================================

---

From: [email-masked]
Date: Sun, 18 Sep 1994 00:20:15 -0400 (EDT)

Excerpts from internet.postgres: 16-Sep-94 Last 'n' records? Bernhard
Buettner@DL6RAI (1441*)

> A problem arises with the fact that very often a user wants to  retrieve
> "the last 'n'" records of the database. Reading through the manual, I
> could not find an operator to do this. At this time, the query is
> realised as follows:

> This will take the whole relation, sort it by date and then retrieve the
> last 5 (0.01%). This cannot be the solution, but we can't find any
> better. Any hints, ideas?

The only solution (partial solution, anyway) I can see is to specify a
range on the dates so that only records with recent dates will be
retrieved.  If you really have 10,000 records/month, try limiting your
query to those records which match today's date (or yesterday's and
today's).