
Танцы с бубнами вокруг FK (некоторые аспекты создания и валидации внешних ключей)
Доклад описывает проблемы, с которыми мы столкнулись (и решили) в процессе миграции данных очень больших СУБД — с Oracle на Postgres.
Одной из тяжёлых частей такого процесса является пересоздание FK. В процессе разрешения проблем пришлось углубиться в некоторые внутренние особенности процесса создания/валидации внешних ключей. Например, есть ли execution plan у ALTER TABLE ... ADD CONSTRAINT ... FOREIGN KEY .. ? Можно ли на него повлиять простому смертному? Какие блокировки накладываются при создании/валидации FK?
Также в докладе представим метод, позволяющий исследовать проблемы производительности процесса из первых принципов. Этот метод будет использован при исследовании некой частной проблемы с производительностью создания внешних ключей.