"As a workaround/test, you could maybe add an expression index ON( (vw2.product_group_name ||'.'|| vw2.product_node_name) )"
Unfortunately, vw2 is a view, but I had a similar thought. I'm looking into splitting i.product-node_name into separate columns though, thanks! On Thu, Sep 27, 2018 at 3:33 PM Justin Pryzby <pry...@telsasoft.com> wrote: > 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 >