Задать вопрос

Как быстро вставить много строк в PostgreSQL?

Нужно получить и вставить много данных в БД. Примерно 6-7 миллионов строк. Получаю я из другого места. Так же, по одной колонке есть индекс уникальности и такая строчка может существовать. Как всё реализовать? БД только именно для этой операции. Вставить и хранить до нужного времени.
  • Вопрос задан
  • 3890 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
Если только "вставить и хранить" - я бы подумал, нахрена хранить в БД, если в "нужный момент" можно взять из файла, или откуда-нибудь ещё.

Вообще, традиционно проблема быстрой вставки решается в три приёма - снятие индекса, вставка, наложение индекса. В Postgre, если я помню верно, третий шаг бьётся ещё на два: добавление собственно индекса и наложение на него constraint. Такой путь чем-то не подходит?

Дополнительно, можно хорошо ускорить процесс, если вставлять по нескольку строк за раз, вроде
INSERT INTO table (field1, field2, field3) VALUES (value1, value2, value3), (value4, value5, value6), (value7, value8, value9)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы