Sobes.tech
Junior — Middle

Kas teil on kogemusi andmebaaside jõudluse optimeerimisega seotud probleemide lahendamisel?

sobes.tech AI

Vastus AI-lt

Andmebaaside jõudluse optimeerimine Node.js-is hõlmab sageli mitmeid lähenemisviise:

  • Indeksite kasutamine päringute kiirendamiseks.
  • Sageli nõutavate andmete vahemällu salvestamine (näiteks Redis abil).
  • SQL-päringute enda optimeerimine, vältides liigseid JOIN-e ja alamküsitlusi.
  • Ühenduste basseinide kasutamine andmebaasi ühenduste tõhusaks haldamiseks.
  • Asünkroonsete päringute töötlemine, et parandada rakenduse reageerimisvõimet.

Näide ühenduste basseinide kasutamisest MySQL-iga Node.js-is:

const mysql = require('mysql2/promise');

const pool = mysql.createPool({
  host: 'localhost',
  user: 'user',
  password: 'password',
  database: 'testdb',
  waitForConnections: true,
  connectionLimit: 10,
  queueLimit: 0
});

async function getUsers() {
  const [rows] = await pool.query('SELECT * FROM users WHERE active = ?', [1]);
  return rows;
}

See lähenemine võimaldab tõhusalt kasutada ressursse ja vähendada andmebaasi vastamise aega.