Re: performance cost for varchar(20), varchar(255), and text

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jessica Richard wrote:
I am tuning a database created by someone else.

I noticed that some column lengths were defined longer than needed.

For example, an Id column is holding a stand length of 20 characters but was defined as varchar(255).

On some other columns, for example, a Description column is supposed to hold less than 100 characters but defined as text.

I am trying to understand the performance impact if a column is over defined in the following cases:

1. char(20) vs varchar(20)

2. varchar(20) vs varchar(255)

3. varchar(255) vs text

Interestingly, the Postgres documentation has the answer:
<http://www.postgresql.org/docs/8.3/interactive/datatype-character.html>
Tip: There are no performance differences between these three types, apart from increased storage size when using the blank-padded type, and a few extra cycles to check the length when storing into a length-constrained column. 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.

Performance is not the only issue. The semantics of CHAR and VARCHAR differ. You cannot use them equivalently.

I recommend searching the docs as a first approach to finding such answers.

--
Lew


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux