Удобный и быстрый multi insert в PostgresSQL

Заметки, Программирование

Автор: masdeft

Нашел достаточно удобный и быстрый способ добавления множества записей одним запросом в PostgreSQL. Все дело в использовании конструкции PREPARE (‘подготовить’).  Данным методом можно создать базовую функцию, которая позволит вставлять неоходимые переменные в оператор INSERT, указав в параметрах типы этих переменных. Привожу пример:

PREPARE insertFunction (int, varchar) AS
INSERT INTO test (id, name)
VALUES ($1, $2);
EXECUTE insertFunction (1,’name1′);
EXECUTE insertFunction (2,’name2′);
EXECUTE insertFunction (3,’name3′);
DEALLOCATE insertFunction;


Данный метод работает примерно на 20% быстрей аналогичного "обычного"
множественного insert'a.

Спасибо за внимание.

Оставить комментарий