Sobes.tech
Junior — Middle

Meséljen a tiszta SQL használatáról ORM vagy más absztrakciók nélkül

sobes.tech MI

Válasz az MI-től

A tiszta SQL ORM nélkül Node.js-ben teljes kontrollt ad a lekérdezések felett, és lehetővé teszi azok optimalizálását konkrét feladatokra. Tapasztalatom szerint kézzel írtam lekérdezéseket, olyan könyvtárakat használva, mint a pg PostgreSQL-hez vagy a mysql2 MySQL-hez.

Ez akkor hasznos, amikor:

  • összetett lekérdezéseket kell írni optimális teljesítménnyel,
  • speciális adatbázis-függő funkciókat akarunk használni,
  • el akarjuk kerülni az ORM által okozott többletköltségeket,
  • gyors hibakeresést és pontos megértést szeretnénk arról, hogy pontosan mi történik az adatbázisban.

A pg példája:

const { Client } = require('pg');
const client = new Client({ connectionString: process.env.DATABASE_URL });

async function getUsers() {
  await client.connect();
  const res = await client.query('SELECT id, name FROM users WHERE active = $1', [true]);
  await client.end();
  return res.rows;
}

Ez a megközelítés óvatosságot igényel a paraméterek kezelésében, hogy elkerüljük az SQL injection-t, és jó SQL-ismereteket.