Hmm, weird -- now the RI_Initial_Check() query is much quicker (20s). We do ANALYZE the data every few nights, so maybe that's what changed it. I'll keep that in mind. -Ben
On Fri, Nov 1, 2013 at 3:19 AM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Ben Hoyt <benh...@gmail.com> writes: > >> It appears the possible explanations for Ben's problem are: > >> 1. For some reason this query is a lot slower than the one he came up > >> with; > > > Anyway, it's definitely #1 that's happening, as I build the > > RI_Initial_Check() query by hand, and it takes just as long as the ADD > > CONSTRAINT. > > Huh. Maybe an optimizer failing? Could we see the full text of both > queries and EXPLAIN ANALYZE results for them? > > > So I guess this is really a side effect of the quirky way we're > > dumping and restoring only one schema, and dropping/re-adding > > constraints on deployment because of this. Is this a really strange > > thing to do -- deploying only one schema (the "static" data) and > > dropping/re-adding constraints -- or are there better practices here? > > Doesn't seem unreasonable. One thought is that maybe you need to insert a > manual ANALYZE after reloading the data? > > regards, tom lane >