> If you can show us the anonymized query plan, why not the anonymized query?
> It doesn't look like it could be all that complicated.
It's not:
SELECT COUNT(*)
FROM "user"
INNER JOIN "house"
ON ("user"."house_id" = "house"."id")
LEFT OUTER JOIN "district"
ON ("house"."district_id" = "district"."id")
WHERE ("user"."status" = 0
AND ("district"."update_status" = 2
OR "district"."update_status" = 3 )
AND ("user"."valid" = 1
OR "user"."valid" = 3 )
AND "district"."is_test" = false );
However, since the anonymization above doesn't quite match that used in
the EXPLAIN plan, I'm not sure what you'll get out of it. And yes, we
know that the outer join is being invalidated.
--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com