Thread: View & Query Performance

View & Query Performance

From
"Igor Maciel Macaubas"
Date:
Hi all,
 
I'm trying to find smarter ways to dig data from my database, and have the following scenario:
 
table1
-- id
-- name
.
.
.
.
.
.
 
table2
-- id
-- number
.
.
.
.
.
.
 
I want to create a view to give me back just what I want:
The id, the name and the number.
I tought in doing the following:
create view my_view as select t1.id, t1.name, t2.number from table1 as t1, table2 as t2 where t1.id = t2.id;
 
Will this be enough fast ? Are there a faster way to make it work ?!
This table is mid-big, around 100K registers ..
 
Regards,
 
 
 

Re: View & Query Performance

From
"Alban Medici (NetCentrex)"
Date:
Can you tell us more about the structure of your tables,
witch sort of index did you set on witch fields ?
 
Did you really need to get ALL records at once, instead you may be could use paging (cursor or SELECT LIMIT OFFSET ) ?
 
And did you well configure your .conf ?
 
Regards
 
Alban Médici


From: pgsql-performance-owner@postgresql.org [mailto:pgsql-performance-owner@postgresql.org] On Behalf Of Igor Maciel Macaubas
Sent: jeudi 14 octobre 2004 23:03
To: pgsql-performance@postgresql.org
Subject: [PERFORM] View & Query Performance

Hi all,
 
I'm trying to find smarter ways to dig data from my database, and have the following scenario:
 
table1
-- id
-- name
.
.
.
.
.
.
 
table2
-- id
-- number
.
.
.
.
.
.
 
I want to create a view to give me back just what I want:
The id, the name and the number.
I tought in doing the following:
create view my_view as select t1.id, t1.name, t2.number from table1 as t1, table2 as t2 where t1.id = t2.id;
 
Will this be enough fast ? Are there a faster way to make it work ?!
This table is mid-big, around 100K registers ..
 
Regards,
 
 
 

Re: View & Query Performance

From
Richard Huxton
Date:
Igor Maciel Macaubas wrote:
> Hi all,
>
> I'm trying to find smarter ways to dig data from my database, and
> have the following scenario:
>
> table1 -- id -- name . . . . . .
>
> table2 -- id -- number . . . . . .
>
> I want to create a view to give me back just what I want: The id, the
> name and the number. I tought in doing the following: create view
> my_view as select t1.id, t1.name, t2.number from table1 as t1, table2
> as t2 where t1.id = t2.id;
>
> Will this be enough fast ? Are there a faster way to make it work ?!
> This table is mid-big, around 100K registers ..

That's as simple a way as you will find. If you apply further
conditions, e.g.
   SELECT * FROM my_view WHERE id = 123;
then you should see any index on "id" being used.

--
   Richard Huxton
   Archonet Ltd