|
Доработать запрос, чтобы не было параллельно выполнения одинаковых запросов
|
|||
---|---|---|---|
#18+
Использую PostgresQL Есть 2 таблицы autors и documents нужно для определённых аккаунтов обновить информацию в autors по documents. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Стала возникать проблема если например по аккаунту 1, одновременно выполняются несколько одинаковых запросов, падает ошибка deadlock detected. Хочется перед выполнение запроса как-то понимать, что c этими же аккаунтам выполняется другой запрос, если выполняется, тогда текущий запрос не выполнять, как это можно сделать? Буду благодарен за конкретный пример ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2022, 19:58 |
|
Доработать запрос, чтобы не было параллельно выполнения одинаковых запросов
|
|||
---|---|---|---|
#18+
А это реальный пример? У меня появляются куча вопросов, а зачем дублировать у автора список его doc_id, когда их всегда можно получить запросом, проидексировать только. Но а так, попытаться начать с уменьшения реального количество обновляемых записей и затрагиваемых таблиц. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2022, 21:56 |
|
|
start [/forum/topic.php?fid=53&gotonew=1&tid=1993677]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 273ms |
total: | 399ms |
0 / 0 |