сначала дропнуть индексы, потом сделать батч инсерт на 500к, после снова накатить эти индексы
Да (могли бы и проверить -- это пяток команд), -- но я не понимаю, как это можэт повлиять на ваш кейс. PS Кстати, дроп индэксов, как и любой другой DDL полностью блокирует таблицу от параллельного изменения.
500к записей инсертятся не мультипл строками, а каждая - отдельным запросом. Мне проще потратить накладные расходы на дроп и создание индексов, чем создавать их 500к раз и выполняется в свободное от нагрузки время
Проверить, транзакцыонно ли это -- это взять тэстовый сервер, создать там таблицу с индэксом, дропнуть его в транзакцыи и откатить. Чего проще. И да, скорее всего, вашы прыжки с дропом и рекреэйтом индэксов приведут только к замедлению и отказам работы основной нагрузки.
Обсуждают сегодня