当前位置:网站首页>【日记】mysql数据库连接池
【日记】mysql数据库连接池
2022-08-04 17:18:00 【ttyt1217】
今天看了nodejs用mysql连接池的相关资料,
因为服务通讯中建立连接和关闭连接的耗时还是挺大的,
所以使用连接池来提前建立一些连接放在里面维持着,进行数据库访问的时候去池子里取用,
用完不需关闭只要释放回池子里,这样就能减少时间开销。
连接池的建立:
let pool = mysql.createPool(config.dbinfo);
取用连接池的连接执行:
//db.js
let query = function (sqlstr, param, callback) {
pool.query(sqlstr, param, callback);
};
exports.query = query;
//exec.js
let query = require('./db').query;
let sqlselect = 'SELECT * FROM testtable;';
query(sqlselect, null, function (err, result) {
res.send(result);
});
以上取用不用考虑连接的建立与释放,query方法内部已经封装好了:
查看mysql源码的Pool.js可知 pool.query() 是 以下操作的一个捷径:
pool.getConnection() -> connection.query() -> connection.release()
但要注意:每次执行pool.query()所取用的connection可能不是同一个。
参考资料:
我们为什么要使用数据库连接池?
https://www.zhihu.com/question/349816338
Github mysqljs/mysql
https://github.com/mysqljs/mysql#release
边栏推荐
猜你喜欢
随机推荐
我的大一.
微信jsApi调用失效的相关问题
codeforces每日5题(均1600)-第二十八天
R语言计算时间序列数据的逐次差分(successive differences):使用diff函数计算时间序列数据的逐次差分值
华硕win11安全启动如何开启
两个对象相同数据赋值
Liunx删除乱码文件
arm交叉编译
R语言ggpubr包的ggtexttable函数可视化表格数据(直接绘制表格图或者在图像中添加表格数据)、使用ggarrange函数将表格数据和可视化图像组合起来(表格数据在可视化图像下方)
租房小程序登顶码云热门
dotnet core 隐藏控制台
力拓信创生态,博睿数据多款产品获得东方通与达梦数据库产品兼容互认证明
taro 滚动组件ScrollView
通关剑指 Offer——剑指 Offer II 010. 和为 k 的子数组
Flutter实战-请求封装(四)之gzip报文压缩
SAP 电商云 Spartacus UI 页面布局的设计原理
15 days to upgrade to fight monsters and become a virtual fashion creator
WPF 光标初始化的时候 temp 文件夹满了无法创建
太一集团全资收购火币旗下社交产品火信
(1), the sequential storage structure of linear table chain storage structure