【问题标题】:Mysql connection pooling with Node.js使用 Node.js 进行 MySQL 连接池
【发布时间】:2018-03-13 06:29:05
【问题描述】:

我已经搜索了一段时间,但我仍然不确定连接池与单个永久连接(使用 mysql package)的优缺点。

目前正在使用单连接选项,但由于可扩展性问题,我正在考虑切换到池。

我不确定我必须寻找哪些常见的陷阱,但这里有一些我认为。

a) 需要顺序的SELECT/UPDATE(s) 必须在事务中使用。

b) 在尽可能窄的范围内释放每个连接。

c) 小心选择要更改和更新的数据,因此请使用FOR UPDATE 锁定它们。

一般来说,我想了解这些陷阱。另外,假设我在每个查询中都使用了一个事务,这是否会使其执行与使用单个连接相同?

【问题讨论】:

    标签: mysql node.js connection


    【解决方案1】:

    超级简单。您是否要并行执行 1 个以上的 MySQL 查询,您需要它。

    您是否这样做取决于您的应用程序。它是为超过 1 个用户提供服务的网络服务器吗?

    【讨论】:

    • 是的,我要做的不仅仅是 1. 在低数千。我只是不确定是否会发生奇怪的问题,例如如果两个用户决定更新同一行,(因为两个请求将从两个连接转到数据库)将被处理?我怎样才能避免这种竞争条件?
    • 大多数数据库查询可以很好地并行运行,即使在同一张表上也是如此。如果您正在执行 2 个相互冲突的查询,则两个查询之一(或两个事务之一)将失败。
    猜你喜欢
    • 2013-09-01
    • 2018-05-28
    • 2013-10-01
    • 1970-01-01
    • 2018-07-15
    • 2016-06-25
    • 2016-05-19
    • 2015-07-29
    • 2014-11-26
    相关资源
    最近更新 更多