mssql数据库连接封装问题

新手上路,请多包涵

小弟现在的程序用的mssql,之前就是因为数据库连接问题导致程序堵塞。换了mssql之后好了,但是现在用户量上来了。发现只要中午高峰期,cpu马上100%,连不上数据库,卡死。可以发现,我每个请求都会 new mssql.ConnectionPool ,是因为我发现这个写在函数外面会报数据库没有连接。希望大佬们能帮忙看看,或者能提供一下比较好的mssql连接方式。求求,砰砰砰!!!.磕头感谢

const mssql = require('mssql');
const config = require("./config.js");
function query(sql, callBack) {
    try {
        const pool = new mssql.ConnectionPool(config, function (err) {
            if (err) {
                console.log(err);
                pool.close()
                return;
            }
            var ps = new mssql.PreparedStatement(pool);
            ps.prepare(sql, function (err) {
                if (err) {
                    console.log('sql', sql)
                    console.log(err);
                    pool.close()
                    return;
                }
                ps.execute('', function (err, result) {
                    if (err) {
                        console.log('sql', sql)
                        console.log('SQL ERRORexecute',err);
                        pool.close()
                        return;
                    }
                    ps.unprepare(function (err) {
                        if (err) {
                            console.log('sql', sql)
                            console.log(err);
                            pool.close()
                            callback(err, null);
                            return;
                        }
                        pool.close()
                        callBack(err, result);
                    });
                });
            });
        });
    } catch (error) {
        console.log('SQL ERROR', error)
    }
   
};
module.exports = query
阅读 1.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题