我最近将一个node.js项目从mysqljs迁移到mysql2(https://www.npmjs.com/package/mysql2(,因为它有一些我需要的额外功能。对于我的数据库调用,我正在导出通过运行mysql.createConnection({CONFIG})
创建的连接,然后由其他文件导入,然后使用 execute 命令执行查询。
在转换之前,在我设置数据库连接的文件中,我有以下内容:
const mysql = require("mysql2");
const dbConfig = require("../config/db.config");
const connection = mysql.createConnection({
host: dbConfig.HOST,
user: dbConfig.USER,
password: dbConfig.PASSWORD,
database: dbConfig.DB,
port: dbConfig.PORT
});
connection.connect(error => {
if (error) throw error;
console.log("DB connect")
});
module.exports = connection;
我的代码在没有connection.connect函数的情况下运行起来很有趣。删除它是否对性能有任何影响,或者 mysql2 是否保持打开的连接,无论连接的创建是否可以忽略不计?在导出之前保留此行还是将其删除更好?
如果您查看此处的源代码,您会发现调用createConnection
已经与数据库进行了握手,并且connect
方法仅用于传递您尝试创建连接时可能发生的任何错误。createConnection
方法不会引发或接受错误回调。因此,我建议在创建连接时继续调用它更安全。