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@fallon.classyad.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! _
_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_