|
Долгое удаление записей из связанной таблицы
|
|||
---|---|---|---|
#18+
Есть таблица 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.
Вопрос как можно ускорить удаление записей? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2021, 01:53 |
|
Долгое удаление записей из связанной таблицы
|
|||
---|---|---|---|
#18+
polin11, проверьте существование индексов под FK вокруг rDocumentLinks. pg_stat_statements .track = all или auto_explain .log_nested_statements могут пролить дополнительный свет на выполняемые при обработке FK операции. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2021, 10:24 |
|
Долгое удаление записей из связанной таблицы
|
|||
---|---|---|---|
#18+
polin11, Скорее всего не хватает индекса по DocumentLinks(IdLink) но вообще покажите структуру этой самой DocumentLinks вместе с индексами. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2021, 13:38 |
|
|
start [/forum/topic.php?fid=53&msg=40045437&tid=1994191]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 256ms |
total: | 387ms |
0 / 0 |