Re: Datatypes and performance

Поиск
Список
Период
Сортировка
От Maksim Likharev
Тема Re: Datatypes and performance
Дата
Msg-id 56510AAEF435D240958D1CE8C6B1770A016D2D8E@mailc03.aurigin.com
обсуждение исходный текст
Ответ на Datatypes and performance  ("Jay O'Connor" <joconnor@cybermesa.com>)
Ответы Re: Datatypes and performance  ("Nigel J. Andrews" <nandrews@investsystems.co.uk>)
Re: Datatypes and performance  (Alvaro Herrera <alvherre@dcc.uchile.cl>)
Re: Datatypes and performance  (Andrew Sullivan <andrew@libertyrms.info>)
Список pgsql-general
Ok, what I see here tells me that text is slower then fixed len varchar,
due to stored in separate table ( but how else you can store long fields
).
so postgres has to read another page(s) in order to get long value.
Story about boundary checks for varchar just does not count,
just nothing with comparing with disk reads/writes.


-----Original Message-----
From: Andrew Sullivan [mailto:andrew@libertyrms.info]
Sent: Friday, July 04, 2003 1:24 PM
To: PostgreSQL List
Subject: Re: [GENERAL] Datatypes and performance


On Fri, Jul 04, 2003 at 01:14:52PM -0700, Maksim Likharev wrote:
> How postgres internally stores text fields, in a separate table?

I believe it gets stored in a separate table just in case it's too
long (read the docs on TOAST if you want more about this).  But
normally, no.  Here's what the docs have to say about it:

---cut here---
The storage requirement for data of these types is 4 bytes plus the
actual string, and in case of character plus the padding. Long
strings are compressed by the system automatically, so the physical
requirement on disk may be less. Long values are also stored in
background tables so they don't interfere with rapid access to the
shorter column values. In any case, the longest possible character
string that can be stored is about 1 GB. (The maximum value that will
be allowed for n in the data type declaration is less than that. It
wouldn't be very useful to change this because with multibyte
character encodings the number of characters and bytes can be quite
different anyway. If you desire to store long strings with no
specific upper limit, use text or character varying without a length
specifier, rather than making up an arbitrary length limit.)
---cut here---

A
--
----
Andrew Sullivan                         204-4141 Yonge Street
Liberty RMS                           Toronto, Ontario Canada
<andrew@libertyrms.info>                              M2P 2A8
                                         +1 416 646 3304 x110


---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

В списке pgsql-general по дате отправления:

Предыдущее
От: Andrew Sullivan
Дата:
Сообщение: Re: Datatypes and performance
Следующее
От: "Nigel J. Andrews"
Дата:
Сообщение: Re: Datatypes and performance