Есть таблица Document (5 млн. записей) и связанная таблица DocumentLinks (35 млн. записей) связь 1-М (один ко многим), у таблицы DocumentLinks поля Id, IdLink, DocumentId, DocumentLink все они связаны с первичным ключом из таблицы Document.
При удалении записей из таблицы Document каскадно удаляются связанные записи из DocumentLinks - это происходит очень долго (одна запись удаляется 6 сек.), даже в том случае когда связанных записей нет в DocumentLinks. Индексы созданы по всем полям Id, IdLink, DocumentId, DocumentLink.
"Delete on "Document" (cost=0.42..8.44 rows=1 width=6) (actual time=0.043..0.043 rows=0 loops=1)"
" Buffers: shared hit=6"
" -> Index Scan using "iDocument-FullCode" on "Document" (cost=0.42..8.44 rows=1 width=6) (actual time=0.026..0.027 rows=1 loops=1)"
" Index Cond: ("FullCode" = '2021'::text)"
" Buffers: shared hit=4"
"Planning time: 0.941 ms"
"Trigger for constraint rDocumentLinks-Id: time=8.784 calls=3"
"Trigger for constraint rDocumentLinks-IdLink: time=59818.664 calls=3"
"Trigger for constraint rDocumentLinks-DocumentId: time=51.304 calls=3"
"Trigger for constraint rDocumentLinks-DocumentLink: time=24.373 calls=3"
"Execution time: 60018.958 ms"
Вопрос как можно ускорить удаление записей?