Re: How can fixed and variable width columns perform similarly?

From: "Dave Dutcher" <dave(at)tridecap(dot)com>
To: <sid(at)etsy(dot)com>, <pgsql-performance(at)postgresql(dot)org>
Subject: Re: How can fixed and variable width columns perform similarly?
Date: 2007-04-27 16:40:15
Message-ID: 003801c788ea$bc7e5830$ca00a8c0@tridecap.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

I think the manual is implying that if you store a value like "Sid" in a
field either of type varchar(128) or type text there is no performance
difference. The manual is not saying that you get the same performance
storing a 500k text field as when you store the value "Sid".

Dave

-----Original Message-----
From: pgsql-performance-owner(at)postgresql(dot)org
[mailto:pgsql-performance-owner(at)postgresql(dot)org] On Behalf Of Siddharth Anand
Sent: Friday, April 27, 2007 10:32 AM
To: pgsql-performance(at)postgresql(dot)org
Subject: [PERFORM] How can fixed and variable width columns perform
similarly?

Hi!
I read the link below and am puzzled by or curious about something.
http://www.postgresql.org/docs/8.1/interactive/datatype-character.html

The Tip below is intriguing

"Tip: There are no performance differences between these three types,
apart from the increased storage size when using the blank-padded type.
While character(n) has performance advantages in some other database
systems, it has no such advantages in PostgreSQL. In most situations text
or character varying should be used instead."

How can a field that doesn't have a limit like "text" perform similarly to
char varying(128), for example? At some point, we need to write data to
disk. The more data that needs to be written, the longer the disk write
will take, especially when it requires finding free sectors to write to.

Another interesting quote from the same page is the following:

"Long values are also stored in background tables so they do not interfere
with rapid access to the shorter column values. "

If the long values are stored in a separate table, on a different part of
the disk, doesn't this imply an extra disk seek? Won't it therefore take
longer?

Sid

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Tom Lane 2007-04-27 17:12:47 Re: How can fixed and variable width columns perform similarly?
Previous Message Tom Lane 2007-04-27 16:25:57 Re: How can fixed and variable width columns perform similarly?