【问题标题】:Is node js mysql multithread faster than syncronous requestsnode js mysql多线程比同步请求快吗
【发布时间】:2020-12-05 06:09:50
【问题描述】:

如果我们使用 php,我们会进行同步 mysql 调用。我们每次运行一个 mysql 查询,然后等待结果,然后运行另一个,依此类推。 如果我们在 node.js 中执行,我们会异步执行,因此我们一次运行十个请求。

那么在这种情况下,如果我们一次运行十个查询,node.js 会比 php 快十倍吗?

【问题讨论】:

  • 为什么不测试一下看看呢?

标签: php mysql node.js


【解决方案1】:

这取决于您在 PHP 中选择的数据库抽象层。您可以在 PHP 中使用几个数据库抽象层来查询数据库。示例:PDO、mysqli 等。它们大多是同步的,但也有异步的。例如 mysqli 允许对数据库进行异步调用。如果您在 PHP 中使用此类异步驱动程序,那么它们一次也可以运行十个请求。但是,如果使用 PDO 等原生驱动,那么 nodejs 会更快。 PHP中有一个带有mysqli扩展名的异步查询示例:https://www.php.net/manual/ru/mysqli.reap-async-query.php

【讨论】:

    【解决方案2】:

    没有

    每台服务器只能共享其拥有的资源。

    如果您只运行 1 个查询,它将使用完成它所需的所有资源。

    如果您有 3 个线程,则必须共享这些资源,并且您可以拥有可以进一步延迟查询的锁。

    此外,如果适合您的工作流程,您还可以尝试多查询以提高速度

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-07
      • 2016-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多