From: | Chris Browne <cbbrowne(at)acm(dot)org> |
---|---|
To: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Optimization of this SQL sentence |
Date: | 2006-10-17 18:09:41 |
Message-ID: | 60wt6y7r16.fsf@dba2.int.libertyrms.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
mmoncure(at)gmail(dot)com ("Merlin Moncure") writes:
> On 10/17/06, Mario Weilguni <mweilguni(at)sime(dot)com> wrote:
>> Am Dienstag, 17. Oktober 2006 11:52 schrieb Alexander Staubo:
>> > Lastly, note that in PostgreSQL these length declarations are not
>> > necessary:
>> >
>> > contacto varchar(255),
>> > fuente varchar(512),
>> > prefijopais varchar(10)
>> >
>> > Instead, use:
>> >
>> > contacto text,
>> > fuente text,
>> > prefijopais text
>> >
>> > See the PostgreSQL manual for an explanation of varchar vs. text.
>>
>> Enforcing length constraints with varchar(xyz) is good database design, not a
>> bad one. Using text everywhere might be tempting because it works, but it's
>> not a good idea.
>
> while you are correct, i think the spirit of the argument is wrong
> becuase there is no constraint to be enforced in those fields. a
> length constraint of n is only valid is n + 1 characters are an error
> and should be rejected by the database. anything else is IMO bad
> form. There are practial exceptions to this rule though, for example
> client technology that might require a length.
>
> so, imo alexander is correct:
> contacto varchar(255)
>
> ...is a false constraint, why exactly 255? is that were the dart landed?
Yeah, 255 seems silly to me.
If I'm going to be arbitrary, there are two better choices:
1. 80, because that's how many characters one can fit across a piece
of paper whilst keeping things pretty readable;
2. 64, because that will fit on a screen, and leave some space for a
field name/description.
> specifically limiting text fields so users 'don't enter too much
> data' is a manifestation c programmer's disease :)
No, I can't agree. I'm pretty accustomed to languages that don't
pinch you the ways C does, and I still dislike having over-wide
columns because it makes it more difficult to generate readable
reports.
--
output = ("cbbrowne" "@" "linuxfinances.info")
http://linuxdatabases.info/info/unix.html
"Instant coffee is like pouring hot water over the cremated remains of
a good friend."
From | Date | Subject | |
---|---|---|---|
Next Message | Behl, Rohit (Infosys) | 2006-10-17 19:05:28 | Jdbc/postgres performance |
Previous Message | Chris Browne | 2006-10-17 18:04:47 | Re: Optimization of this SQL sentence |