Re: Foreign key slows down copy/insert
| От | Stephan Szabo |
|---|---|
| Тема | Re: Foreign key slows down copy/insert |
| Дата | |
| Msg-id | 20050414074154.M38465@megazone.bigpanda.com обсуждение исходный текст |
| Ответ на | Re: Foreign key slows down copy/insert (Richard van den Berg <richard.vandenberg@trust-factory.com>) |
| Ответы |
Re: Foreign key slows down copy/insert
|
| Список | pgsql-performance |
On Thu, 14 Apr 2005, Richard van den Berg wrote: > Hello Chris, > > Thanks for your answers. > > Christopher Kings-Lynne wrote: > > Deferring makes no difference to FK checking speed... > > But why then is the speed acceptable if I copy and then manually add the > FK? Is the check done by the FK so much different from when it is done > automatically using an active deffered FK? Yes, because currently the check done by the FK on an insert type activity is a per-row inserted check while the check done when adding a FK acts on the entire table in a go which allows better optimization of that case (while generally being worse on small number inserts especially on large tables). At some point, if we can work out how to do all the semantics properly, it'd probably be possible to replace the insert type check with a per-statement check which would be somewhere in between. That requires access to the affected rows inside the trigger which I don't believe is available currently.
В списке pgsql-performance по дате отправления: