Re: TOAST & performance with lots of big columns in a table

Поиск
Список
Период
Сортировка
От Jan Wieck
Тема Re: TOAST & performance with lots of big columns in a table
Дата
Msg-id 200012141334.IAA04181@jupiter.jw.home
обсуждение исходный текст
Ответ на Re: TOAST & performance with lots of big columns in a table  (Frank Joerdens <frank@joerdens.de>)
Список pgsql-general
Frank Joerdens wrote:
> Uh, I think I was wired rather the wrong way up, this question is
> confused. What a little fresh air can do. Cycling home from the office
> cleared the confusion in my head: It is of course nonsense to store all
> translations in a single row, also to have different tables for
> different languages. You have one table with a 'language' field that
> stores the information as to whether this is English, French, etc.; and
> then another table for the meta stuff, that also links to the authors
> table etc.. So simple. I am a little embarassed.

    That'd  be my suggestion too, because it makes it alot easier
    to add a 7th and 8th language later.

    Anyway, having many big columns in one  table  will  make  it
    more  likely  that  the toaster is invoked. Actually, it only
    does some work until the main tuple fits into BLKSZ/4,  which
    is  a  little  less  than  2K in the default setup. This will
    cause more data to get toasted. The application would need to
    only select those columns that are actually required to avoid
    detoasting of all the stuff it doesn't use, so this  approach
    is  a  little  more  complicated  at  the client side. If the
    application selects all translations every time anyway, there
    shouldn't  be  much  of a difference. But if it first selects
    the original and just the  available  translations,  it  only
    needs  to  fetch the original text plus the language codes of
    all others with a second query, avoiding the  detoasting  and
    data transfer for all the available translations, so your new
    schema is definitely better.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #



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

Предыдущее
От: "Nathan Barnett"
Дата:
Сообщение: RE: Reliability Stability of PgSQL & it's JDBC driver
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: Problem with pg_hba.conf