Re: How to find greatest record before known values fast
От | Adrian Klaver |
---|---|
Тема | Re: How to find greatest record before known values fast |
Дата | |
Msg-id | 542F2E2E.7020900@aklaver.com обсуждение исходный текст |
Ответ на | Re: How to find greatest record before known values fast (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | 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 по дате отправления: