Re: Compare rows

Поиск
Список
Период
Сортировка
От Greg Spiegelberg
Тема Re: Compare rows
Дата
Msg-id 3F857E1C.1040209@cranel.com
обсуждение исходный текст
Ответ на Re: Compare rows  (Josh Berkus <josh@agliodbs.com>)
Ответы Re: Compare rows  (Gaetano Mendola <mendola@bigfoot.com>)
Список pgsql-performance
Josh Berkus wrote:
> Greg,
>
>
>>You lost me on that one.  What's a "vertical child table"?
>
>
> Currently, you store data like this:
>
> id    address    uptime    speed    memory    tty
> 3    67.92    0.3        11.2        37        6
> 7    69.5        1.1        NULL    15        NULL
> 9    65.5        0.1        NULL    94        2
>
> The most efficient way for you to store data would be like this:
>
> main table
> id    address
> 3    67.92
> 7    69.5
> 9    65.5
>
> child table
> id    value_type    value
> 3    uptime        0.3
> 3    speed        11.2
> 3    memory        37
> 3    tty            6
> 7    uptime        1.1
> 7    memory        15
> 9    uptime        0.1
> 9    memory        94
> 9    tty            2
>
> As you can see, the NULLs are not stored, making this system much more
> efficient on storage space.
>
> Tommorrow I'll (hopefully) write up how to query this for comparisons.   It
> would help if you gave a little more details about what specific comparison
> you're doing, e.g. between tables or table to value, comparing just the last
> value or all rows, etc.
>

Got it.  I can see how it would be more efficient in storing.  At this
point it would require a lot of query and code rewrites to handle it.
Fortunately, we're looking for alternatives for the next revision and
we're leaving ourselves open for a rewrite much to the boss's chagrin.

I will be spinning up a test server soon and may attempt a quick
implementation.  I may make value_type a foreign key on a table that
includes a full and/or brief description of the key.  Problem I'll have
then will be categorizing all those keys into disk, cpu, memory, user,
and all the other data categories since it's in one big table rather
than specialized tables.

Greg

--
Greg Spiegelberg
  Sr. Product Development Engineer
  Cranel, Incorporated.
  Phone: 614.318.4314
  Fax:   614.431.8388
  Email: gspiegelberg@Cranel.com
Cranel. Technology. Integrity. Focus.



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

Предыдущее
От: Bill Moran
Дата:
Сообщение: Re: Linux filesystem shootout
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Sun performance - Major discovery!