Обсуждение: GEQO Benchmark
Hi all, I'm using the TPC-H Benchmark for testing of performance in PostgreSQL. But it is composed of only 8 tables, which is not enough to call the GEQO algorithm. I don't want to change any of the 22 queries provided by the TPC-H to call the GEQO, and not lose the credibility of the TPC's tool. Is there a specific tool for testing queries with large number of tables (12 or more), or some a documentation of tests carried out in GEQO Algorithm? -- Tarcizio Bini
tarcizioab@c3sl.ufpr.br writes: > I'm using the TPC-H Benchmark for testing of performance in PostgreSQL. > But it is composed of only 8 tables, which is not enough to call the GEQO > algorithm. See http://www.postgresql.org/docs/8.3/static/runtime-config-query.html#RUNTIME-CONFIG-QUERY-GEQO particularly geqo_threshold. regards, tom lane
Hi,
Of course, the geqo_threshold can be changed so that the geqo be performed in queries that have less than 12 tables. However, we aim to test the GEQO algorithm in conditions where the standard algorithm (dynamic programming) has a high cost to calculate the query plan.
--
Tarcizio Bini
Of course, the geqo_threshold can be changed so that the geqo be performed in queries that have less than 12 tables. However, we aim to test the GEQO algorithm in conditions where the standard algorithm (dynamic programming) has a high cost to calculate the query plan.
--
Tarcizio Bini
2008/5/28 Tom Lane <tgl@sss.pgh.pa.us>:
tarcizioab@c3sl.ufpr.br writes:See
> I'm using the TPC-H Benchmark for testing of performance in PostgreSQL.
> But it is composed of only 8 tables, which is not enough to call the GEQO
> algorithm.
http://www.postgresql.org/docs/8.3/static/runtime-config-query.html#RUNTIME-CONFIG-QUERY-GEQO
particularly geqo_threshold.
regards, tom lane
On Wed, 2008-05-28 at 13:13 -0300, Tarcizio Bini wrote: > Of course, the geqo_threshold can be changed so that the geqo be > performed in queries that have less than 12 tables. However, we aim to > test the GEQO algorithm in conditions where the standard algorithm > (dynamic programming) has a high cost to calculate the query plan. My understanding is the GEQO cannot arrive at a better plan than the standard optimizer, so unless you wish to measure planning time there isn't much to test. What is the quality of the plans it generates? Well that varies according to the input; sometimes it gets the right plan, other times it doesn't get close. -- Simon Riggs www.2ndQuadrant.com PostgreSQL Training, Services and Support
I'm interested in the response time instead of the quality of it, that is, if this response is (or not) a best plan. Thus, my interest on the response time is to compare the GEQO algorithm with other solutions for optimization of queries, more specificaly when there are 12 or more tables evolved. Accordingly, the algorithm of dynamic programming becomes hard because of the computational cost to obtain the optimal plan.
My question is to know what tool or method was used to test the GEQO algorithm or if there is some documentation that explain how the geqo was tested.
Regards,
Tarcizio Bini
My question is to know what tool or method was used to test the GEQO algorithm or if there is some documentation that explain how the geqo was tested.
Regards,
Tarcizio Bini
2008/5/28 Simon Riggs <simon@2ndquadrant.com>:
My understanding is the GEQO cannot arrive at a better plan than the
On Wed, 2008-05-28 at 13:13 -0300, Tarcizio Bini wrote:
> Of course, the geqo_threshold can be changed so that the geqo be
> performed in queries that have less than 12 tables. However, we aim to
> test the GEQO algorithm in conditions where the standard algorithm
> (dynamic programming) has a high cost to calculate the query plan.
standard optimizer, so unless you wish to measure planning time there
isn't much to test. What is the quality of the plans it generates? Well
that varies according to the input; sometimes it gets the right plan,
other times it doesn't get close.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Training, Services and Support