Обсуждение: Explain Analyze - Total runtime very differentes

Поиск
Список
Период
Сортировка

Explain Analyze - Total runtime very differentes

От
tarcizioab@c3sl.ufpr.br
Дата:
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

If someone can help me.

Thank's for attention.

Tarcizio Bini

Вложения

Re: Explain Analyze - Total runtime very differentes

От
Stefan Kaltenbrunner
Дата:
tarcizioab@c3sl.ufpr.br 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