|
Как правильно удалить много записей
|
|||
---|---|---|---|
#18+
Доброго всем дня. Подскажите какой запрос будет оптимален для удаления 100 млн записей из таблицы кейс таков есть таблица А и таблица Б в таблице Б лежат id_А таблицы А нужно выбрать все id_A из таблицы Б и удалить все записи с такими идентификаторами из таблицы А Код: plsql 1.
такой запрос у меня выполняется уже часов 6 и никак не выполнится до сих пор ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 19:13 |
|
Как правильно удалить много записей
|
|||
---|---|---|---|
#18+
localhost8080 Доброго всем дня. Подскажите какой запрос будет оптимален для удаления 100 млн записей из таблицы кейс таков есть таблица А и таблица Б в таблице Б лежат id_А таблицы А нужно выбрать все id_A из таблицы Б и удалить все записи с такими идентификаторами из таблицы А Код: plsql 1.
такой запрос у меня выполняется уже часов 6 и никак не выполнится до сих пор 1)distinct лишний и только всё запутывает и сильно замедляет 2)покажите explain (analyze,costs,buffers,timing) для запроса Код: sql 1.
дальше умножьте это на 100M и это будет некоторая оценка сверху сколько времени вам надо... и может покажет где у вас ещё проблемы есть типа непроиндексированных FK если у вас база на медленных дисках то может и дольше удаляться. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 21:00 |
|
Как правильно удалить много записей
|
|||
---|---|---|---|
#18+
Maxim Boguk 1)distinct лишний и только всё запутывает и сильно замедляет а не будет конфлитка,так как таблица Б cодержит дубликаты id_A? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 21:03 |
|
Как правильно удалить много записей
|
|||
---|---|---|---|
#18+
Maxim Boguk, спрошу еще такой вопрос сразу я выполнял удаление в рамках транзакции Код: plsql 1.
потом у меня упало соединение( я конечусь к серверу по ssh) после этого я перезапустил сервер постгрес( он в докере крутится) и после этого у меня там видимо что то пошло не так сейчас пытаюсь просто сделать vacuum таблицы А и мне выдает такую ошибку Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 21:06 |
|
Как правильно удалить много записей
|
|||
---|---|---|---|
#18+
localhost8080 Maxim Boguk, спрошу еще такой вопрос сразу я выполнял удаление в рамках транзакции Код: plsql 1.
потом у меня упало соединение( я конечусь к серверу по ssh) после этого я перезапустил сервер постгрес( он в докере крутится) и после этого у меня там видимо что то пошло не так сейчас пытаюсь просто сделать vacuum таблицы А и мне выдает такую ошибку Код: plsql 1.
Не делайте постгрес в докере... а если делаете - умейте его там чинить-настраивать. По докеру ничего подсказать не могу. У вас там база то на внешнем volume я надеюсь? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 21:17 |
|
Как правильно удалить много записей
|
|||
---|---|---|---|
#18+
Maxim Boguk localhost8080 Maxim Boguk, спрошу еще такой вопрос сразу я выполнял удаление в рамках транзакции Код: plsql 1.
потом у меня упало соединение( я конечусь к серверу по ssh) после этого я перезапустил сервер постгрес( он в докере крутится) и после этого у меня там видимо что то пошло не так сейчас пытаюсь просто сделать vacuum таблицы А и мне выдает такую ошибку Код: plsql 1.
Не делайте постгрес в докере... а если делаете - умейте его там чинить-настраивать. По докеру ничего подсказать не могу. У вас там база то на внешнем volume я надеюсь? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru да volume имеется ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 21:23 |
|
Как правильно удалить много записей
|
|||
---|---|---|---|
#18+
Maxim Boguk, причем вот эта проблема только при запросе к таблице из которой я в рамках транзакции пытался удалить эти записи ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 21:25 |
|
Как правильно удалить много записей
|
|||
---|---|---|---|
#18+
А сколько всего записей в удаляемой таблице? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 18:29 |
|
Как правильно удалить много записей
|
|||
---|---|---|---|
#18+
localhost8080 Maxim Boguk, спрошу еще такой вопрос сразу я выполнял удаление в рамках транзакции Код: plsql 1.
потом у меня упало соединение( я конечусь к серверу по ssh) после этого я перезапустил сервер постгрес( он в докере крутится) и после этого у меня там видимо что то пошло не так сейчас пытаюсь просто сделать vacuum таблицы А и мне выдает такую ошибку Код: plsql 1.
Проблема с местом? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 18:32 |
|
|
start [/forum/topic.php?fid=53&msg=40102891&tid=1993829]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 264ms |
total: | 409ms |
0 / 0 |