"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Implementación eficiente de técnicas de inserción de múltiples líneas utilizando PG-Promise

Implementación eficiente de técnicas de inserción de múltiples líneas utilizando PG-Promise

Publicado el 2025-04-16
Navegar:660

How to Achieve Multi-Row Inserts with Efficiency Using pg-promise?

Multi-Row se inserta con pg-promise

declaración de problemas:

PG-PROMISE?

SOLUCIÓN:

El enfoque preferido en PG-Promise es usar el espacio de nombres de Helepers para un alto rendimiento y flexibilidad.

const {ColumnSet, insert} = pgp.helpers;

const cs = new ColumnSet(['col_a', 'col_b'], {table: 'tmp'});
const values = [{col_a: 'a1', col_b: 'b1'}, {col_a: 'a2', col_b: 'b2'}];

const query = insert(values, cs);
// => INSERT INTO "tmp"("col_a","col_b") VALUES('a1','b1'),('a2','b2')

await db.none(query);

consideraciones adicionales:

[&]
    El objeto de columna de columnas debe crearse estáticamente para almacenar en caché de plantillas para un rendimiento óptimo.
  • este inspector múltiple es sin transacciones, significado que todos o ninguno de los valores será Insertada.
  • SQL La protección de la inyección se proporciona utilizando el espacio de nombres de ayudantes junto con los nombres SQL.
Extras:

db.many ().

    para insertar grandes conjuntos de datos, considere utilizar la función de importaciones de datos.
  • puede encapsular la generación de consultas dentro de una función para un manejo de errores mejorado.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3