Re: [COMMITTERS] pgsql: Fix an O(N^2) problem in foreign key references.
От | Tom Lane |
---|---|
Тема | Re: [COMMITTERS] pgsql: Fix an O(N^2) problem in foreign key references. |
Дата | |
Msg-id | 14681.1443202990@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: [COMMITTERS] pgsql: Fix an O(N^2) problem in foreign key references. (Alvaro Herrera <alvherre@2ndquadrant.com>) |
Ответы |
Re: [COMMITTERS] pgsql: Fix an O(N^2) problem in foreign key references.
|
Список | pgsql-hackers |
Alvaro Herrera <alvherre@2ndquadrant.com> writes: > Would it make sense to remove the only the few oldest entries, instead > of all of them? As is, I think this causes a storm of reloads every > once in a while, if the number of FKs in the system is large enough. > Maybe on a cache hit we could push the entry to the head of the list, > and then remove N entries from the back of the list when the threshold > is reached. Sure, there's room for optimization of that sort, although I think we could do with some evidence that it's actually helpful. I believe that under "production" workloads InvalidateConstraintCacheCallBack won't get called much at all, so the problem's moot. (FWIW, it might take less code to put the recently-used entries at the back of the list. Then the loop in InvalidateConstraintCacheCallBack could just invalidate/delete entries if either they're targets, or the current list length exceeds the threshold.) regards, tom lane
В списке pgsql-hackers по дате отправления: