Thread: Performance vs Schemas

Performance vs Schemas

From
"Igor Maciel Macaubas"
Date:
Hi all,
 
I recently migrated my database from schema 'public' to multiple schema.
I have around 100 tables, and divided them in 14 different schemas, and then adapted my application to use schemas as well.
I could percept that the query / insert / update times get pretty much faster then when I was using the old unique schema, and I'd just like to confirm with you if using schemas speed up the things. Is that true ?
 
What else I can do to speed up the query processing, best pratices, recommendations ... ? What about indexed views, does postgresql supports it?
 
Regards,
 

Re: Performance vs Schemas

From
"Gregory S. Williamson"
Date:
Igor,

I'm not sure if it is proper to state that schemas are themselves speeding things up.

As an example, we have data that is usually accessed by county; when we put all of the data into one big table and
selectfrom it using a code for a county of interest, the process is fairly slow as there are several hundred thousand
candidaterows from that county in a table with many millions of rows. When we broke out certain aspects of the data
intoschemas (one per county) the searches become very fast indeed because we can skip the searching for a specific
countycode with the relevant tables and there is less (unneeded) data in the table being searched.   

As always, "EXPLAIN ANALYZE ..." is your friend in understanding what the planner is doing with a given query.

See <http://www.varlena.com/varlena/GeneralBits/Tidbits/> for some useful information, especially under the performance
tipssection. 

HTH,

Greg Williamson
DBA
GlobeXplorer LLC

-----Original Message-----
From:    Igor Maciel Macaubas [mailto:igor@providerst.com.br]
Sent:    Thu 10/14/2004 11:38 AM
To:    pgsql-performance@postgresql.org
Cc:
Subject:    [PERFORM] Performance vs Schemas
Hi all,

I recently migrated my database from schema 'public' to multiple schema.
I have around 100 tables, and divided them in 14 different schemas, and then adapted my application to use schemas as
well.
I could percept that the query / insert / update times get pretty much faster then when I was using the old unique
schema,and I'd just like to confirm with you if using schemas speed up the things. Is that true ? 

What else I can do to speed up the query processing, best pratices, recommendations ... ? What about indexed views,
doespostgresql supports it? 

Regards,
Igor
--
igor@providerst.com.br




Re: Performance vs Schemas

From
Neil Conway
Date:
On Fri, 2004-10-15 at 04:38, Igor Maciel Macaubas wrote:
> I have around 100 tables, and divided them in 14 different schemas,
> and then adapted my application to use schemas as well.
> I could percept that the query / insert / update times get pretty much
> faster then when I was using the old unique schema, and I'd just like
> to confirm with you if using schemas speed up the things. Is that true
> ?

Schemas are a namespacing technique; AFAIK they shouldn't significantly
affect performance (either positively or negatively).

> What about indexed views, does postgresql supports it?

No, you'll need to create indexes on the view's base tables.

-Neil



Re: Performance vs Schemas

From
"Iain"
Date:
Hi Igor,
 
I expect that when you moved your tables to different schemas that you effectively did a physical re-organization (ie unload/reload of the tables). It's nothing to do with the use of schemas as such. If you had reloaded your tables into the same system schema you would have experienced the same speedup as the data tables would be more compact.
 
regards
Iain
----- Original Message -----
Sent: Friday, October 15, 2004 3:38 AM
Subject: [PERFORM] Performance vs Schemas

Hi all,
 
I recently migrated my database from schema 'public' to multiple schema.
I have around 100 tables, and divided them in 14 different schemas, and then adapted my application to use schemas as well.
I could percept that the query / insert / update times get pretty much faster then when I was using the old unique schema, and I'd just like to confirm with you if using schemas speed up the things. Is that true ?
 
What else I can do to speed up the query processing, best pratices, recommendations ... ? What about indexed views, does postgresql supports it?
 
Regards,
 

Re: Performance vs Schemas

From
"Aaron Werman"
Date:
Right - if you split a table to a lot of more selective tables, it can often
dramatically change the plan options (e.g. - in a single table, selectivity
for a query may be 1% and require an expensive nested loop while in the more
restrictive table it may match 14% of the data and do a cheaper scan).

Also - don't forget that just rebuilding a database cleanly can dramatically
improve performance.

The only dbms I know that indexes views is MS SQL Server 2000, where it is a
limited form of materialized queries. pg doesn't do MQs, but check out
functional indices.

/Aaron

----- Original Message -----
From: "Gregory S. Williamson" <gsw@globexplorer.com>
To: "Igor Maciel Macaubas" <igor@providerst.com.br>;
<pgsql-performance@postgresql.org>
Sent: Thursday, October 14, 2004 2:45 PM
Subject: Re: [PERFORM] Performance vs Schemas


Igor,

I'm not sure if it is proper to state that schemas are themselves speeding
things up.

As an example, we have data that is usually accessed by county; when we put
all of the data into one big table and select from it using a code for a
county of interest, the process is fairly slow as there are several hundred
thousand candidate rows from that county in a table with many millions of
rows. When we broke out certain aspects of the data into schemas (one per
county) the searches become very fast indeed because we can skip the
searching for a specific county code with the relevant tables and there is
less (unneeded) data in the table being searched.

As always, "EXPLAIN ANALYZE ..." is your friend in understanding what the
planner is doing with a given query.

See <http://www.varlena.com/varlena/GeneralBits/Tidbits/> for some useful
information, especially under the performance tips section.

HTH,

Greg Williamson
DBA
GlobeXplorer LLC

-----Original Message-----
From: Igor Maciel Macaubas [mailto:igor@providerst.com.br]
Sent: Thu 10/14/2004 11:38 AM
To: pgsql-performance@postgresql.org
Cc:
Subject: [PERFORM] Performance vs Schemas
Hi all,

I recently migrated my database from schema 'public' to multiple schema.
I have around 100 tables, and divided them in 14 different schemas, and then
adapted my application to use schemas as well.
I could percept that the query / insert / update times get pretty much
faster then when I was using the old unique schema, and I'd just like to
confirm with you if using schemas speed up the things. Is that true ?

What else I can do to speed up the query processing, best pratices,
recommendations ... ? What about indexed views, does postgresql supports it?

Regards,
Igor
--
igor@providerst.com.br




---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org