Re: primary keys as TEXT - Mailing list pgsql-sql

From Manlio Perillo
Subject Re: primary keys as TEXT
Date
Msg-id 44CDC607.6080006@libero.it
Whole thread Raw
In response to Re: primary keys as TEXT  ("Aaron Bono" <postgresql@aranya.com>)
Responses Re: primary keys as TEXT  ("Aaron Bono" <postgresql@aranya.com>)
List pgsql-sql
Aaron Bono ha scritto:
> On 7/28/06, *Manlio Perillo* <manlio_perillo@libero.it
> <mailto:manlio_perillo@libero.it>> wrote:
> 
>     Michael Glaesemann ha scritto:
>     >
>     > On Jul 28, 2006, at 17:37 , Manlio Perillo wrote:
>     >
>     >> There can be performancs problems in having primary keys of type
>     TEXT?
>     >> What about having a primary key of 3 columns (all of type TEXT)?
>     >
>     > What defines a problem in terms of performance is heavily dependent on
>     > your particular needs and requirements. What are your
>     requirements? What
>     > profiling have you done to see where your performance bottlenecks
>     may be?
>     >
> 
>     I still don't have done profiling.
> 
>     Simply in the first version of my schema I used serial keys but the
>     result is ugly and it force me to do a lot of joins.
> 
> 
>  
> Ugly?  Not sure what you mean by that.
> 

Because serial ids are only surrogate keys.
My tables have well definited primary keys, the only problem is that
they are of type TEXT (and spawn up to 3 columns).

My concern is: how bad can be performance?

> I do understand the problem with so many joins.  I use views so that the
> joins are only delt with once (in the database) and then all my
> applications run off the views.  That way, the applications use very
> simple queries.  The views also allow me to change the table structure
> (column names, more table normalization, etc.) without having to make
> changes to the application.
> 

View are a good idea, thanks.


Regards  Manlio Perillo


pgsql-sql by date:

Previous
From: "Aaron Bono"
Date:
Subject: Re: Joining a result set from four (4) tables
Next
From: John DeSoi
Date:
Subject: Re: Triggers using PL/pgSQL