powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Долгое удаление записей из связанной таблицы
4 сообщений из 4, страница 1 из 1
Долгое удаление записей из связанной таблицы
    #40045311
polin11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица Document (5 млн. записей) и связанная таблица DocumentLinks (35 млн. записей) связь 1-М (один ко многим),
у таблицы DocumentLinks поля Id, IdLink, DocumentId, DocumentLink все они связаны с первичным ключом из таблицы Document.

При удалении записей из таблицы Document каскадно удаляются связанные записи из DocumentLinks - это происходит очень долго (одна запись удаляется 6 сек.), даже в том случае когда связанных записей нет в DocumentLinks.
Индексы созданы по всем полям Id, IdLink, DocumentId, DocumentLink.


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
"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"




Вопрос как можно ускорить удаление записей?
...
Рейтинг: 0 / 0
Долгое удаление записей из связанной таблицы
    #40045373
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
polin11,

проверьте существование индексов под FK вокруг rDocumentLinks.

pg_stat_statements .track = all или auto_explain .log_nested_statements могут пролить дополнительный свет на выполняемые при обработке FK операции.
...
Рейтинг: 0 / 0
Долгое удаление записей из связанной таблицы
    #40045437
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
polin11,

Скорее всего не хватает индекса по DocumentLinks(IdLink)

но вообще покажите структуру этой самой DocumentLinks вместе с индексами.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Долгое удаление записей из связанной таблицы
    #40045520
polin11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, проблема в индексе, я был невнимателен, спасибо
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Долгое удаление записей из связанной таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]