Re: How to find greatest record before known values fast - Mailing list pgsql-general

From Adrian Klaver
Subject Re: How to find greatest record before known values fast
Date
Msg-id 542F2E2E.7020900@aklaver.com
Whole thread Raw
In response to Re: How to find greatest record before known values fast  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On 10/03/2014 03:59 PM, Tom Lane wrote:
> Adrian Klaver <adrian.klaver@aklaver.com> writes:
>>> page 28:
>>>
>>> Unlike    many
>>> databases,    char(n)    is    NOT    stored    as    afixed-sizedfield
>>> in    Postgres.    It    is    treated    exactly    the    sameas
>>> varchar(n)except    for    being    padded
>
>> Which directly contradicts the information on page 27:
>
> This info is probably not as well worded as it could be, but it's not
> really wrong.  The key point is that char(N) is blank-padded (thereby
> wasting space) to be N *characters*, but that is not necessarily N
> *bytes*, because of possible multi-byte characters.  Therefore the engine
> has to treat it as a variable-length datatype.

Well that is a distinction I had missed, thanks for the heads up. So the
bottom line is char(N) is variable length, but for values that do not
reach length N will require more storage space then varchar(n).

>
> I believe in some some other DBMSes, char(N) means N *bytes* and is
> treated as a fixed-size datatype.  Dunno what they do with multibyte
> encodings.
>
>             regards, tom lane
>
>


--
Adrian Klaver
adrian.klaver@aklaver.com


pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: How to find greatest record before known values fast
Next
From: Andy Colson
Date:
Subject: Re: Processor usage/tuning question