Jeff Janes <jeff.janes@xxxxxxxxx> writes: > On Sat, Nov 23, 2019 at 4:47 PM Tom Lane <tgl@xxxxxxxxxxxxx> wrote: >> Note that you pay a fairly substantial performance penalty for deferring >> the check, which is why it isn't the default, even though the SQL spec >> says it ought to be. > Do you know what the worst case scenario is for the performance of > deferring the check to the end of the statement (with deferred initially > immediate)? Upon testing, I get a penalty of 2 to 5%, which seems pretty > small, but I might not be testing the most adverse situation. See attached. Hm, I would have expected more, though not factor-of-10 or anything like that. But that's just vague recollection from when we put in the feature. I'm not surprised if the numbers have moved since. > The main "cost" that prevents from using DII routinely is that they can't > receive foreign key constraints. Yeah, that's an issue. regards, tom lane