У нас есть файл 150M линий, обновляет только одну таблицу базы данных PostgreSQL с такими командами:Какой самый быстрый способ применить обновления 150M на PostgreSQL таблице
UPDATE "events" SET "value_1" = XX, "value_2" = XX, "value_3" = XX, "value_4" = XX WHERE "events"."id" = SOME_ID;
Все идентификаторы уникальны, нет никакого способа примените это обновление к нескольким событиям. В настоящее время такое обновление занимает около нескольких дней, если мы запускаем его с помощью \i update.sql
в psql.
Есть ли более быстрый способ запустить его?
Вы пытаетесь запустить, что с автоматической фиксации _disabled_ в одной транзакции? –
Как это повлияет на БД, поскольку в этой таблице несколько сотен операционных систем в секунду, можем ли мы испортить данные или заблокировать таблицу для всего обновления? – nateless
У вас есть указатель на «события». «Id»? – Jayadevan