Re: SELECT statement returns in 10seconds, but INSERT/CREATE TABLEAS with same SELECT takes 7 minutes - Mailing list pgsql-performance

From Justin Pryzby
Subject Re: SELECT statement returns in 10seconds, but INSERT/CREATE TABLEAS with same SELECT takes 7 minutes
Date
Msg-id 20180927193313.GI776@telsasoft.com
Whole thread Raw
In response to Re: SELECT statement returns in 10seconds, but INSERT/CREATE TABLE ASwith same SELECT takes 7 minutes  (Arjun Ranade <ranade@nodalexchange.com>)
Responses Re: SELECT statement returns in 10seconds, but INSERT/CREATE TABLE ASwith same SELECT takes 7 minutes
List pgsql-performance
On Thu, Sep 27, 2018 at 03:37:57PM -0400, Arjun Ranade wrote:
> Yes, that join is concerning (red text below).  The conditions all need to
> be checked so they are independent.

You can play with the join conditions to see which test is getting such a bad
estimate, or if it's a combination of tests (as I suspected) giving a bad
estimate.

There's a good chance this one isn't doing very well:

>    vw2.product_group_name ||'.'|| vw2.product_node_name = i.product_node_name

As a workaround/test, you could maybe add an expression index
ON( (vw2.product_group_name ||'.'|| vw2.product_node_name) )

..and then ANALYZE.  Eventually, you'd want to consider splitting
i.product_node_name into separate columns.  

Justin


pgsql-performance by date:

Previous
From: Arjun Ranade
Date:
Subject: Re: SELECT statement returns in 10seconds, but INSERT/CREATE TABLE ASwith same SELECT takes 7 minutes
Next
From: Arjun Ranade
Date:
Subject: Re: SELECT statement returns in 10seconds, but INSERT/CREATE TABLE ASwith same SELECT takes 7 minutes