Sql server sql查询是否阻止node.js事件循环?

Sql server sql查询是否阻止node.js事件循环?,sql-server,node.js,event-loop,Sql Server,Node.js,Event Loop,我将使用pure node.js创建一个web api,它在SQL Server上执行CRUD操作并将结果返回给客户端。查询运行时间几乎很长(约3秒),每秒请求量很高(约30 rpm)。我正在使用带有回调函数的mssql包,以便在结果准备好后返回结果。 我已经读了很多关于node的书,我知道它非常适合IO密集型而非CPU密集型的应用程序,而且事件循环不应该被阻止,因为它是单线程的 我的问题:Node.js是否适合这种(SQL密集型)场景?在这种情况下使用Node.js是否存在性能问题? 感谢No

我将使用pure node.js创建一个web api,它在SQL Server上执行CRUD操作并将结果返回给客户端。查询运行时间几乎很长(约3秒),每秒请求量很高(约30 rpm)。我正在使用带有回调函数的mssql包,以便在结果准备好后返回结果。 我已经读了很多关于node的书,我知道它非常适合IO密集型而非CPU密集型的应用程序,而且事件循环不应该被阻止,因为它是单线程的

我的问题:Node.js是否适合这种(SQL密集型)场景?在这种情况下使用Node.js是否存在性能问题?
感谢

Node.js一直致力于非阻塞代码,几乎所有在中阻塞的函数都将被标记为
Sync

我见过的每个数据库驱动程序都遵循要求回调、使用承诺或响应的模式

作为Node.js开发人员,您必须仔细阅读文档以查找任何潜在的阻塞调用,并且需要使用正确的并发方法来处理异步操作。通常情况下,您不需要过分关注任何给定操作的时间细节,但在执行缓慢的操作时,您仍应小心。以较小的块(例如,逐行)处理数据,而不是一次处理所有数据


即使它只是单线程的,Node.js也可以在负载下运行良好,因为它可以在异步操作之间快速切换。您还可以通过让多个Node.js进程并行工作来进行扩展,特别是当您通过负载平衡器使用消息总线或HTTP类型扇出时。

基于您的想法和节点文档,最后我决定改用.net core。谢谢你的电话,但是没有理由认为Node.js会很慢。根据我的经验,它的效率总是出奇的高,而且远远超出了预期。