ฉันกำลังพยายามหาวิธีจัดโครงสร้างแอปพลิเคชันเพื่อใช้ MySQL อย่างมีประสิทธิภาพมากที่สุด ฉันใช้โมดูล node-mysql เธรดอื่น ๆ ที่นี่แนะนำให้ใช้การเชื่อมต่อพูลดังนั้นฉันจึงตั้งค่าโมดูลเล็กน้อย mysql.js
var mysql = require('mysql');
var pool = mysql.createPool({
host : 'localhost',
user : 'root',
password : 'root',
database : 'guess'
});
exports.pool = pool;
ตอนนี้เมื่อใดก็ตามที่ฉันต้องการค้นหา mysql ฉันต้องการโมดูลนี้จากนั้นค้นหาฐานข้อมูล
var mysql = require('../db/mysql').pool;
var test = function(req, res) {
mysql.getConnection(function(err, conn){
conn.query("select * from users", function(err, rows) {
res.json(rows);
})
})
}
แนวทางนี้ดีไหม ฉันไม่พบตัวอย่างของการใช้การเชื่อมต่อ mysql มากเกินไปนอกจากตัวอย่างที่เรียบง่ายมากซึ่งทุกอย่างเสร็จสิ้นในสคริปต์ app.js หลักดังนั้นฉันจึงไม่รู้ว่าหลักการปฏิบัติ / แนวทางปฏิบัติที่ดีที่สุดคืออะไร
ฉันควรใช้ connection.end () หลังแบบสอบถามแต่ละครั้งหรือไม่ จะเกิดอะไรขึ้นถ้าฉันลืมมันไว้ที่ไหนสักแห่ง?
วิธีการเขียนส่วนส่งออกของโมดูล mysql ของฉันใหม่เพื่อส่งคืนเฉพาะการเชื่อมต่อดังนั้นฉันจึงไม่ต้องเขียน getConnection () ทุกครั้ง
connection.query
ทุกที่ในรหัสของฉัน" - อาจถึงเวลาที่ต้องปรับโครงสร้างใหม่ สร้างฐานข้อมูลระดับนามธรรมว่าข้อเสนอselect
,insert
,update
ฯลฯ - และใช้เฉพาะconnection
(หรือpool
) ภายในที่ระดับฐานข้อมูลเดียว ...