Rumah >pangkalan data >tutorial mysql >Bagaimanakah MySQL Connection Pooling Boleh Meningkatkan Prestasi Aplikasi Node.js?

Bagaimanakah MySQL Connection Pooling Boleh Meningkatkan Prestasi Aplikasi Node.js?

Linda Hamilton
Linda Hamiltonasal
2024-11-05 06:31:021086semak imbas

How can MySQL Connection Pooling Boost Node.js Application Performance?

Mengoptimumkan Aplikasi Node.js dengan Pengumpulan Sambungan MySQL

Apabila membangunkan aplikasi Node.js yang berinteraksi dengan MySQL, pengoptimuman prestasi pangkalan data adalah penting. Satu teknik yang berkesan ialah melaksanakan pengumpul sambungan, yang membolehkan berbilang sambungan serentak diuruskan dengan cekap.

Struktur Pengumpulan Sambungan

Untuk mencipta kumpulan sambungan, gunakan modul mysql seperti berikut:

<code class="javascript">const mysql = require('mysql');

const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: 'root',
  database: 'guess'
});</code>

Menyiasat Pangkalan Data

Setelah kumpulan ditubuhkan, tanya pangkalan data menggunakan kaedah getConnection():

<code class="javascript">pool.getConnection(function(err, connection) {
  connection.query("select * from users", function(err, rows) {
    res.json(rows);
  })
});</code>

Amalan Terbaik

Secara amnya disyorkan untuk menggunakan pengumpulan sambungan untuk prestasi optimum. Selain itu, adalah penting untuk melepaskan sambungan kembali ke kolam selepas digunakan dengan connection.release(). Ini menghalang sambungan daripada melahu dan menyumbat kolam.

Pengurusan Sambungan Ringkas

Untuk menyelaraskan proses sambungan, pertimbangkan untuk mengubah suai modul mysql untuk mengembalikan sambungan secara terus tanpa menggunakan getConnection():

<code class="javascript">const getConnection = function(callback) {
  pool.getConnection(function(err, connection) {
    callback(err, connection);
  });
};

module.exports = getConnection;</code>

Ini membenarkan sintaks yang dipermudahkan apabila menanyakan pangkalan data:

<code class="javascript">const mysql = require('../db/mysql');

mysql((err, connection) => {
  connection.query("select * from users", function(err, rows) {
    res.json(rows);
  })
});</code>

Dengan mengikuti amalan terbaik ini untuk pengumpulan sambungan MySQL dalam aplikasi Node.js, anda boleh meningkatkan prestasi, mengoptimumkan penggunaan sumber dan memastikan interaksi pangkalan data yang cekap.

Atas ialah kandungan terperinci Bagaimanakah MySQL Connection Pooling Boleh Meningkatkan Prestasi Aplikasi Node.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn