From: | Richard Huxton <dev(at)archonet(dot)com> |
---|---|
To: | Jozef Ševčík <sevcik(at)styxsystems(dot)com> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Quoting table/column names vs performance |
Date: | 2008-04-09 16:56:42 |
Message-ID: | 47FCF54A.20901@archonet.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Jozef Ševčík wrote:
> Richard,
>
> thanks for the answer.
> In fact, I double-quoted identifiers only because PgSQL forced me to do so
> when using capitalized letters in table/column name.
Well, if you don't quote them they get folded to lower-case and you get
case-insensitive matching.
CREATE TABLE MyTable1 (a int); -- ends up as mytable1
CREATE TABLE "MyTable2" (a int); -- stays as MyTable2
SELECT * FROM MyTable1; -- OK, looks for "mytable1"
SELECT * FROM MYTABLE1; -- also OK
SELECT * FROM MyTaBlE1; -- also OK
SELECT * FROM "MyTable1";-- Fails, looks for "MyTable1"
SELECT * FROM MyTable2; -- Fails, looks for "mytable2"
SELECT * FROM "MyTable2"; -- OK
> I'm OK with this if it's PgSQL requirement (app runs on NHibernate so I just change
> column="MyColumn" to column="`MyColumn`" in mapping files).
>
> In fact I like capitalized column/table names (more readable for me),
> but the point is if this affect performance when running queries (for example PgSQL engine
> might take more time to analyze query with double-quoted identifiers or so).
>
> Is there any performance penalty for this ?
As I said, no cost you'll ever notice.
--
Richard Huxton
Archonet Ltd
From | Date | Subject | |
---|---|---|---|
Next Message | Jozef Ševčík | 2008-04-09 17:02:45 | Re: Quoting table/column names vs performance |
Previous Message | Terry Lee Tucker | 2008-04-09 16:37:24 | Re: Disable Triggers |