From: | Marc Howard Zuckman <marc(at)fallon(dot)classyad(dot)com> |
---|---|
To: | Thomas Good <tomg(at)admin(dot)nrnet(dot)org> |
Cc: | pgsql-sql(at)postgreSQL(dot)org |
Subject: | Re: [SQL] abusing an aggregate funct |
Date: | 1998-11-14 15:01:41 |
Message-ID: | Pine.LNX.4.02A.9811140953190.6343-100000@fallon.classyad.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Sat, 14 Nov 1998, Thomas Good wrote:
> Due to the sheer girth of the table the following query, called from
> a data entry script, takes a bit of time to finish:
>
> SELECT max(rec_num) FROM crtrd1;
>
> I use this to setup `rec_num + 1' for my query number (p_key)...any
> way I can speed this up a bit? I've run vacuum analyze but the
> table size is doing me in...
>
Use a sequence to generate rec_num. See man create_sequence.
You can then use curval('sequence_name') to get the last
sequence number generated, or if you are performing an insert:
insert into crtrd1 (p_key,otherdata) values (nextval('sequence_name',moredata);
You could also create the table using nextval as the default
value of p_key. You may wish to create a unique_index on
p_key, but nextval is guaranteed not to generate duplicates
unless you allow it to rollover.
Marc Zuckman
marc(at)fallon(dot)classyad(dot)com
_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
_ Visit The Home and Condo MarketPlace _
_ http://www.ClassyAd.com _
_ _
_ FREE basic property listings/advertisements and searches. _
_ _
_ Try our premium, yet inexpensive services for a real _
_ selling or buying edge! _
_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
From | Date | Subject | |
---|---|---|---|
Next Message | Herouth Maoz | 1998-11-15 12:19:00 | Re: [SQL] Some questions |
Previous Message | Thomas Good | 1998-11-14 12:00:42 | abusing an aggregate funct |