Node js mysql 多线程比同步请求快吗

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

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


守着一只汪
浏览 108回答 2
2回答

猛跑小猪

并不真地每个服务器只能共享其拥有的资源。如果您仅运行 1 个查询,它将使用完成它所需的所有资源。如果您有 3 个线程,则必须共享这些资源,并且您可以拥有进一步延迟查询的锁。此外,如果适合您的工作流程,您可以尝试多查询以提高速度

泛舟湖上清波郎朗

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