1
我在學Node。Node-Mysql數據庫查詢+ res.json太慢了
使用Express和Node-Mysql,我成功地能夠查詢我的mysql數據庫並將結果作爲JSON返回給客戶端。
但是,它太慢了。對於LIMIT爲100的簡單查詢,需要大約6秒鐘才能得到響應。
根據我的記錄器,DB查詢只需要大約8毫秒的時間來運行 - 所以我不認爲node-mysql是問題所在。
但我唯一做的其他事情是將結果集傳遞給響應對象以轉換成json。
這裏是我的代碼,大致爲:
路線:
app.get("/exercises", function(req, res){
exercises.get(req.query, function(result){
res.json(result);
});
});
型號:
module.exports.get = function(params, cb){
var sql = "SELECT * FROM exercises LIMIT 100";
db.do(sql, function(result){
var response = {};
response.data = result[ 0 ];
response.meta = result[ 1 ][ 0 ];
cb(response);
});
};
DB:
module.exports.do = function(sql, vals, cb){
var selectStart = +new Date();
pool.acquire(function(err, db){
db.query(sql, vals, function(err, result) {
cb(result);
console.log("Query Execuction: %d ms", +new Date() - selectStart);
pool.release(db);
});
});
};
有誰知道我可能做錯了/爲什麼要花費這麼長時間才能將結果集發送到客戶端?
(提前)感謝您的幫助。