Re: Autoincrement

From: Federico Passaro <fede(at)link(dot)it>
To: pgsql-sql(at)postgreSQL(dot)org
Subject: Re: Autoincrement
Date: 1998-07-20 08:06:45
Message-ID: l03110702b1d8ab0b0cc8@[147.233.159.109]
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Herouth Maoz wrote:

> (redirected to the SQL list because it really has nothing to do with
> interfaces):
>
> At 14:07 +0300 on 17/7/98, Federico Passaro wrote:
>
> > You are right, but it's better to put the autoincrementing field as
> > the last one like in:
> >
> > CREATE TABLE cliente (
> > name varchar(100) UNIQUE NOT NULL,
> > username varchar(8) NOT NULL ,
> > key int4 NOT NULL DEFAULT nextval('key_s') PRIMARY KEY,
> > );
> >
> > This way you can use the sintax
> >
> > insert into cliente values ('JACK', 'postgres');
> >
> > in place of
> >
> > insert into cliente (name, username) values ('JACK', 'postgres');
>
> No! The syntax may look attractive to you, because you have to write less,
> but you will pay for it in performance! I definitely would not put that
> field last. This is because in the current version of Postgres, any fields
> following the first VARCHAR have a performance penalty. So, in order to
> avoid this, you should place all fixed-sized fields at the beginning, and
> then all the variable-length fields.

When I have to pay this penalty: on insert / update / query ?

>
>
> In any case it is always recommeded to explicitly specify the names of all
> the fields in an insert operation, rather than rely on your memory of the
> correct order.

>
>
> > A more robust solution is to use a trigger. Look at the files
> > <PostGreSQL source dir>/contrib/spi/autoinc.*
>
> I am not sure a solution which depends on writing code in C and having
> postgres superuser privileges can be considered "more robust". I'd
> recommend the use of sequences in any case.

Could you explain your assertion please: the C code I mentioned is ready and
well tested ....

>
>
> Herouth
>
> --
> Herouth Maoz, Internet developer.
> Open University of Israel - Telem project
> http://telem.openu.ac.il/~herutma

federico

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Herouth Maoz 1998-07-20 09:23:59 Re: [SQL] Re: Autoincrement
Previous Message Barry Voeten 1998-07-19 11:38:06 (no subject)