Sobes.tech
Junior — Middle

Papaskinkite apie savo patirtį naudojant gryną SQL be ORM ar kitų abstrakcijų

sobes.tech AI

Atsakymas iš AI

Naudojant gryną SQL be ORM Node.js suteikia visišką kontrolę nad užklausomis ir leidžia jas optimizuoti konkretiems uždaviniams. Iš savo patirties, rašiau užklausas rankiniu būdu naudodamas bibliotekas kaip pg PostgreSQL'ui arba mysql2 MySQL'ui.

Tai naudinga, kai:

  • reikia rašyti sudėtingas užklausas su optimaliu našumu,
  • naudoti specifines duomenų bazės funkcijas,
  • vengti ORM papildomų išlaidų,
  • greitai derinti ir tiksliai suprasti, kas vyksta duomenų bazėje.

Pavyzdys su pg:

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;
}

Šis požiūris reikalauja atsargumo dirbant su parametrais, kad išvengtumėte SQL injekcijų, ir gerai suprasti SQL.