0

我最近将一个 node.js 项目从 mysqljs 迁移到 mysql2 ( https://www.npmjs.com/package/mysql2 ),因为它有一些我需要的附加功能。对于我的数据库调用,我正在导出通过运行创建的连接,mysql.createConnection({CONFIG})然后由其他文件导入,然后使用执行命令执行查询。

在我过渡之前,在我设置数据库连接的文件中,我有这个:

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 是否保持开放连接,或者连接的创建可以忽略不计?在导出之前保留这条线还是删除它更好?

4

1 回答 1

1

如果您在此处查看源代码,您将看到调用createConnection已经与数据库执行了握手,并且该connect方法仅用于传递您尝试创建连接时可能发生的任何错误。该createConnection方法不会抛出或接受错误回调。所以我建议在创建连接时继续调用它更安全。

于 2020-05-28T22:18:58.240 回答