Обсуждение: varchar vs text columns

Поиск
Список
Период
Сортировка

varchar vs text columns

От
Jessica Richard
Дата:
What is the difference between varchar and text for a string column?
What is the benefit of using each one?
Is text better than varchar performance wise?

Thanks.


Park yourself in front of a world of choices in alternative vehicles.
Visit the Yahoo! Auto Green Center.

Re: varchar vs text columns

От
Andrew Sullivan
Дата:
On Mon, Jul 23, 2007 at 11:33:54AM -0700, Jessica Richard wrote:
> What is the difference between varchar and text for a string column?
> What is the benefit of using each one?
> Is text better than varchar performance wise?

From the manual:

    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.

Note that varchar(n) will have a performance effect, because on
insert or update you have to check to make sure the input doesn't
exceed the specified length.

A

--
Andrew Sullivan  | ajs@crankycanuck.ca
I remember when computers were frustrating because they *did* exactly what
you told them to.  That actually seems sort of quaint now.
        --J.D. Baldwin

Re: varchar vs text columns

От
Peter Eisentraut
Дата:
Jessica Richard wrote:
> What is the difference between varchar and text for a string column?

Nothing, if you don't use a limit for varchar.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

Re: varchar vs text columns

От
Lew
Дата:
Andrew Sullivan wrote:
> On Mon, Jul 23, 2007 at 11:33:54AM -0700, Jessica Richard wrote:
>> What is the difference between varchar and text for a string column?
>> What is the benefit of using each one?
>> Is text better than varchar performance wise?
>
> From the manual:
>
>     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.
>
> Note that varchar(n) will have a performance effect, because on
> insert or update you have to check to make sure the input doesn't
> exceed the specified length.

See also Peter Koczan's reply in the '"_" in a serach  pattern' thread.

--
Lew