tarcizioab@xxxxxxxxxxxx wrote:
Hello friends ... I'm evaluating the performance of algorithms for optimization of queries. I am comparing results between the algorithm of Dynamic Programming and an implementation of Kruskal's algorithm. When submitting a query that makes reference to only 2 tables of my base, logically the same "Query Plan" is shown. But the "Total runtime" displayed by the command "Explain-Analyze" presents a variation of time very high: Dynamic Programming Total runtime: 1204.220 ms Kruskal Total runtime: 3744.879 ms No change of data (insert, delete, update) in the tables was made during the tests. The same query was submitted several times (with Kruskal and Dynamic Programming algorithms) and the variation of results persists. The "explain analyze" only reports the time to run *execute* the query. With the same "Query Plan", does not understand why this variation occurs. In annex the Query Plans
sure it it not something as simple as a caching effect - ie you run the slow variant first and pg and/or the OS buffered data and the repeated execution just got a benefit from that ?
Try running all variations a few dozend times both in cached and uncached state and you should see the difference getting leveled out.
Stefan -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance