Search Postgresql Archives

Frequency of Analyze?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have a rapidly growing database with a very complex schema, and I'm looking 
to improve performance. It's typical to have 2-4 foreign keys in each table, 
and there are currently 113 tables, and queries with 5-10 tables with 
combined inner/outer joins are pretty typical. (I avoid subqueries anywhere I 
can) 

So far, my guiding philosophy has been "constrain everything" with primary 
keys, unique, foreign keys and the like, relying on the implicit indexes and 
the query scheduler to handle things, and so far, it's worked very well. 

The database has grown in total size (calculated by the size of a pg_dump) 25% 
in the past month, and the growth rate seems to be accellerating. (yikes!) We 
are buying new equipment now, but I'd still like to optimize as best as 
possible. 

A few questions: 

1) Any problem with running "Analyze" hourly via cron? 

2) Does "Vacuum analyze" also do the actions performed by "Analyze"? 

3) What's the best way to handle indexes when only 1 index is used per table 
in a query, but there are several due to the various constraints on it? Is 
there a way to benefit from all of these other indexes somehow? Is there a 
definitive, detailed book for optimizing PG queries? 

-Ben 

-- 
"The best way to predict the future is to invent it."
- XEROX PARC slogan, circa 1978

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux