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
Ben Hoyt <benhoyt@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?