Mysql 连接与连接池
Mysql Connection vs Connection Pool
我在同一数据库中有 4 个独立的 table。使用 mysql2.createConnection() 或 mysql2.createPool 批量插入每个 table 会更好吗?我想 运行 异步插入。
代码将执行来自 AWS Lambda 的插入,并通过 RDS 代理完成连接,该代理处理连接到 Aurora MySql 数据库实例的所有连接的连接池。
const mysql2 = require('mysql2');
const connection = mysql2.createConnection({
host : 'example.org',
user : 'bob',
password : 'secret'
});
或
mysql2.createPool
const mysql2 = require('mysql2');
const pool = mysql2.createPool({
connectionLimit : 10,
host : 'example.org',
user : 'bob',
password : 'secret'
});
如果您想 运行 异步插入,您需要 createPool。
因为在 createConnection 中,只有 1 个连接,并且在该连接上执行的所有查询都在排队,这并不是真正的异步。 (从 node.js 的角度来看是异步的,但查询是按顺序执行的)
我在同一数据库中有 4 个独立的 table。使用 mysql2.createConnection() 或 mysql2.createPool 批量插入每个 table 会更好吗?我想 运行 异步插入。
代码将执行来自 AWS Lambda 的插入,并通过 RDS 代理完成连接,该代理处理连接到 Aurora MySql 数据库实例的所有连接的连接池。
const mysql2 = require('mysql2');
const connection = mysql2.createConnection({
host : 'example.org',
user : 'bob',
password : 'secret'
});
或
mysql2.createPool
const mysql2 = require('mysql2');
const pool = mysql2.createPool({
connectionLimit : 10,
host : 'example.org',
user : 'bob',
password : 'secret'
});
如果您想 运行 异步插入,您需要 createPool。
因为在 createConnection 中,只有 1 个连接,并且在该连接上执行的所有查询都在排队,这并不是真正的异步。 (从 node.js 的角度来看是异步的,但查询是按顺序执行的)