Josh:
Since I need to use a GUID as the primary key, I have to use the char
datatype.
On Fri, 2002-11-01 at 15:23, Josh Berkus wrote:
> Wei,
>
> > Does it make a performance difference if I use a char(20) or a char(36)
> > as the primary key? My thought is no, but I would like to hear more
> > opinions.
>
> Yes, it does, though probably minor unless you have millions of records. CHAR
> is padded out to the specified length. Therefore the index on a char(36)
> column will be a little larger, and thus a little slower, than the char(20).
Does it affect the INSERT/UPDATE/DELETE operations on tables or simply
the SELECT operation or both?
>
> Now, there would be no difference between VARCHAR(20) and VARCHAR(36) unless
> you used some of the extra 16 characters on most rows.
>
> Either way, for tables of a few thousand records, I doubt that you'll notice
> the difference. BTW, why not use a SERIAL value as a surrogate primary key?
>
> > And a little further off topic(since we have many database experts
> > here), does it matter on MS SQL server 7?
>
> Yes, same reason.
--
Wei Weng
Network Software Engineer
KenCast Inc.