Выполнение нескольких вставок в базу данных PostgreSQL является распространенным требованием при работе с большими наборами данных или импортом больших объемов данных. В этой статье мы рассмотрим несколько методов эффективного выполнения нескольких операторов вставки в PostgreSQL с использованием SQL. Каждый метод будет сопровождаться примером кода, иллюстрирующим его использование.
Метод 1: использование операторов INSERT INTO SELECT
Пример кода:
INSERT INTO table_name (column1, column2, ...)
SELECT value1, value2, ...
UNION ALL
SELECT value1, value2, ...
UNION ALL
...
Метод 2: использование предложения VALUES
Пример кода:
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...),
(value1, value2, ...),
...
Метод 3: использование команды COPY
Пример кода:
COPY table_name (column1, column2, ...)
FROM '/path/to/file.csv' DELIMITER ',' CSV;
Метод 4: использование функции pg_copy_from()
Пример кода:
CREATE TEMP TABLE temp_table (column1, column2, ...);
COPY temp_table FROM '/path/to/file.csv' DELIMITER ',' CSV;
INSERT INTO table_name (column1, column2, ...)
SELECT * FROM temp_table;
Метод 5: использование расширения pg_bulkload
Пример кода:
CREATE TABLE table_name (column1, column2, ...);
SELECT pg_bulkload('table_name', '/path/to/file.csv');
Эффективное выполнение нескольких вставок имеет решающее значение при работе с большими наборами данных в PostgreSQL. В этой статье мы рассмотрели различные методы, в том числе использование операторов INSERT INTO SELECT, предложения VALUES, команды COPY, функции pg_copy_from() и расширения pg_bulkload. Каждый метод имеет свои преимущества и подходит для разных сценариев. Используя эти методы, вы можете оптимизировать множественные вставки и повысить производительность базы данных PostgreSQL.