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