Re: Are there known performance issues with defining all Foreign Keys as deferrable initially immediate

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Are there known performance issues with defining all Foreign Keys as deferrable initially immediate
Дата
Msg-id 11998.1347809835@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Are there known performance issues with defining all Foreign Keys as deferrable initially immediate  (Craig Ringer <ringerc@ringerc.id.au>)
Ответы Re: Are there known performance issues with defining all Foreign Keys as deferrable initially immediate  (Craig Ringer <ringerc@ringerc.id.au>)
Список pgsql-performance
Craig Ringer <ringerc@ringerc.id.au> writes:
> Found it, it's in the NOTES for CREATE TABLE.
> http://www.postgresql.org/docs/current/static/sql-createtable.html:

> When a UNIQUE or PRIMARY KEY constraint is not deferrable, PostgreSQL
> checks for uniqueness immediately whenever a row is inserted or
> modified. The SQL standard says that uniqueness should be enforced only
> at the end of the statement; this makes a difference when, for example,
> a single command updates multiple key values. To obtain
> standard-compliant behavior, declare the constraint as DEFERRABLE but
> not deferred (i.e., INITIALLY IMMEDIATE). Be aware that this can be
> significantly slower than immediate uniqueness checking.

Note that that is addressing uniqueness constraints, and *only*
uniqueness constraints.  Foreign key constraints are implemented
differently.  There is no equivalent to an immediate check of a foreign
key constraint --- it's checked either at end of statement or end of
transaction, depending on the DEFERRED property.  So there's really no
performance difference for FKs, unless you let a large number of pending
checks accumulate over multiple commands within a transaction.

            regards, tom lane


В списке pgsql-performance по дате отправления:

Предыдущее
От: Craig Ringer
Дата:
Сообщение: Re: Are there known performance issues with defining all Foreign Keys as deferrable initially immediate
Следующее
От: Craig Ringer
Дата:
Сообщение: Re: Are there known performance issues with defining all Foreign Keys as deferrable initially immediate