Re :MySQL Benchmark page - Problem with vacuum() in PostgreSQL
От | Michael Widenius |
---|---|
Тема | Re :MySQL Benchmark page - Problem with vacuum() in PostgreSQL |
Дата | |
Msg-id | 15229.2792.985845.797556@narttu.mysql.fi обсуждение исходный текст |
Ответ на | Re :MySQL Benchmark page - Problem with vacuum() in PostgreSQL (Mark kirkwood <markir@slingshot.co.nz>) |
Список | pgsql-general |
Hi! >>>>> "Mark" == Mark kirkwood <markir@slingshot.co.nz> writes: Mark> Dear all, Mark> Please humour me if this is a silly comment , or has been made before - Mark> but.... Mark> when Monty posted the original message I had a few thoughts - ........ Mark> I understand that there is a issue with Mark> loop many times Mark> perform a set a updates/inserts Mark> run vauuum Mark> end loop Mark> I would not peform a test this way.... let Postgresql MVCC sort out the Mark> relevant rows to manage... so run vacuum once only....after all on a real Mark> system you try to minimize the number of times vacuum ( or its related Mark> equivalents in other dbms's - e.g : analyze ) are run ( as they are typically Mark> expensive ). Mark> So I guess I am saying that if the Benchmark requires multiple runs of vacuum Mark> / analyze type functions then maybe the design of the benchmark should be Mark> examined a bit... The idea is to run the same benchmarks two different ways: Normal: Run without any vacuum commands Fast: Run vacuum after each massive update/insert batch The reason for the 'fast' option is to get more accurate times for system that is mostly 'read' oriented. The test is more done like this: - Do a lot of inserts - vacuum - Do a lot of updates/deletes - vacuum - Do a lot of selects - drop tables Vacuum is never performed in a loop. In our tests we have noticed that we get a total speedup of 9 times when doing vacuum this way. Regards, Monty PS: The patch / new file we got from Tom Lane to fix the problem with vacuum didn't help. I will do a complete bug report about this later today.
В списке pgsql-general по дате отправления: