Re: [COMMITTERS] pgsql: Fix an O(N^2) problem in foreign key references.

Поиск
Список
Период
Сортировка
От Jan Wieck
Тема Re: [COMMITTERS] pgsql: Fix an O(N^2) problem in foreign key references.
Дата
Msg-id 5605582E.1010209@wi3ck.info
обсуждение исходный текст
Ответ на Re: [COMMITTERS] pgsql: Fix an O(N^2) problem in foreign key references.  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: [COMMITTERS] pgsql: Fix an O(N^2) problem in foreign key references.  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 09/18/2015 10:47 AM, Tom Lane wrote:
> Jan Wieck <jan@wi3ck.info> writes:
>> Attached is a complete rework of the fix from scratch, based on Tom's
>> suggestion.
>
>> The code now maintains a double linked list as suggested, but only uses
>> it to mark all currently valid entries as invalid when hashvalue == 0.
>> If a specific entry is invalidated it performs a hash lookup for maximum
>> efficiency in that case.
>
> That does not work; you're ignoring the possibility of hashvalue
> collisions, and for that matter not considering that the hash value
> is not equal to the hash key.  I don't think your code is invalidating
> the right entry at all during a foreign key constraint update, and
> it certainly cannot do the right thing if there's a hash value collision.
>
> Attached is something closer to what I was envisioning; can you do
> performance testing on it?

Sorry for the delay.

Yes, that patch also has the desired performance for restoring a schema 
with hundreds of thousands of foreign key constraints.


Regards, Jan

-- 
Jan Wieck
Senior Software Engineer
http://slony.info



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

Предыдущее
От: Teodor Sigaev
Дата:
Сообщение: Re: WIP: Rework access method interface
Следующее
От: Tom Lane
Дата:
Сообщение: Re: cluster_name and update_process_title documentation