Most database systems can figure out the size (in bytes) of a column
rather quickly from offsets within a record. I doubt that postgres is
any different. The only difference I can think of is that it might be
slower to filter out trailing spaces of a char column before comparing,
though the actual string length may be cached somewhere. Semantically,
it should be no different. I haven't perused the source code enough to
know for sure.
Any of the developers that patrol this list can probably answer your
questions better, especially the question of matching or not matching
strings of different length.
Ben Kim wrote:
>> The only difference is that varchar can have a length limit, text is
>> always unlimited length. There's no significant performance
>> difference between either. For most intents and purposes, they're equal.
> Forgive me for diversion, but out of curiosity, would it make some
> difference whether strings of known length are compared or strings of
> unknown length are compared, like in join condition "using(address)"?
> Or, is the actual length stored in a separate field and read first so
> strings of different lengths wouldn't even need to be matched?
> Is there some reference on this subject other than the source code?
> Ben K.
In response to
pgsql-admin by date
|Next:||From: Tom Lane||Date: 2007-07-25 02:39:28|
|Subject: Re: Data directory was initialized by PostgreSQL version 8.3 |
|Previous:||From: Phillip Smith||Date: 2007-07-25 02:15:21|
|Subject: Re: Data directory was initialized by PostgreSQL version 8.3|