Re: [SQL] abusing an aggregate funct
| От | Marc Howard Zuckman | 
|---|---|
| Тема | Re: [SQL] abusing an aggregate funct | 
| Дата | |
| Msg-id | Pine.LNX.4.02A.9811140953190.6343-100000@fallon.classyad.com обсуждение исходный текст  | 
		
| Ответ на | abusing an aggregate funct (Thomas Good <tomg@admin.nrnet.org>) | 
| Ответы | 
                	
            		Re: [SQL] abusing an aggregate funct
            		
            		 Re: [SQL] abusing an aggregate funct  | 
		
| Список | 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@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!                      _
_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
		
	В списке pgsql-sql по дате отправления: