Lee Daniel Crocker wrote:
(Thomas Corell T.Corell@t-online.de):
Just a question for optimizing the right way. Are the queries known used mainly? This will help e.g. to setup helpful views. I think all queries concerning the displaying of a page, e.g. Or is your test suite a proper place to look for such queries?
I'm sorry, I don't understand that question at all. There are no views at all used in the DB. All queries are composed by the software referring directly to the database tables, and are about as optimal as we could make them under the limits of MySQL, but it's quite possible that we've missed a number of optimizations.
Well, of course there are actually no views - MySQL don't support them. But PostgreSQL does. And if you have for one often used operation (e.g. displaying a wikipage) a select operation depending on a selection of tables and rows, it can improve performance if you have a view with proper indices exactly optimized for this operation.
Knowing these operations and the time they need to fullfill a successful operation, plus the usage statistic of this operation, leads to the knowlegde which of them will need as much performance as it can get. Example: DB-costs / operation operations / hour total time Update of a page: 2sec 1000 2000sec Display a page 1sec 100000 100000sec
If you can reduce the DB-costs/operation by 50% ( 1sec , 0.5sec ) you get for the Update 1000sec benefit, for the Display 50000sec. This shows that getting a better performance on Update operation is quite useless.
I hope this explanation was a bit more clearly. I will take a look at your test suite and again at the php source. If I get a proper running PostgreSQL configuration, I will tell you.
The test suite interacts with the wiki over the web, just a user would, so it has no knowledge of any code internals.
Smurf