On 8/11/2009 11:15 AM, Aris Samad-Yahaya wrote:
> It used to take about 15 seconds to create those 300 tables in a new
> schema (when there were only a few schemas, say about 50). It now takes
> about 3 minutes (and now we have about 200 schemas, with more data but
> not hugely so).
200 schemas, 300 tables per schema. That's sixty THOUSAND tables.
> * Is the problem caused by the increasing number of schemas?
and increasing table count, I expect.
You do batch the table and schema creation into a single transaction,
right? If not, do that first, rather than creating each table in a
separate transaction (ie: relying on autocommit).
It may also be worth thinking about the app's design. Is a new schema
and 300 new tables for each user really the best way to tackle what
you're doing? (It might be, but it's a question worth asking yourself).
--
Craig Ringer