Search Postgresql Archives

RE: Weird seqscan node plan

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Игорь Выскорко [mailto:vyskorko.igor@xxxxxxxxx]
Sent: Tuesday, November 26, 2019 4:13 AM
To: Andrei Zhidenkov <andrei.zhidenkov@xxxxxxx>
Cc: pgsql-general@xxxxxxxxxxxxxxxxxxxx
Subject: Re: Weird seqscan node plan

 

26.11.2019, 16:02, "Andrei Zhidenkov" <andrei.zhidenkov@xxxxxxx>:

How many tables do you have in your query? If too many, in your case “Genetic Query Optiomiation” might be used (https://www.postgresql.org/docs/10/geqo-pg-intro.html).

 

On 26. Nov 2019, at 03:19, Игорь Выскорко <vyskorko.igor@xxxxxxxxx> wrote:

 

Hi all!
I'm confused by planner choice: seqscan but not index scan when index scan cost is much cheaper.
1st plan: https://explain.depesz.com/s/Cti#l8
2nd plan (with "set enable_seqscan = off"): https://explain.depesz.com/s/qn0I#l8

Look at 8th row: this nested loop decided to join the second node by using seqscan (1st plan) when index is available (2nd plan). Index scan is much cheaper (0.430 over 257.760).

What am I missing?

And thanks for any reply!
 

 

Hm... about 12 tables.
I tried to disable geqo (set geqo = off;)  plan didn't change. But thanks for your try )

Version I'm using (if matter):
select version();

PostgreSQL 9.6.1 on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit

 

Try increasing the following parameters to 14 (or even 16, if you are not sure about number of tables involved):

 

geqo_threshold = 14

from_collapse_limit = 14

join_collapse_limit = 14

 

“about 12” is too close to default limit, 12.

 

Regards,

Igor Neyman

 


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux