使节点mysql运行最快的最佳技术?
Posted
技术标签:
【中文标题】使节点mysql运行最快的最佳技术?【英文标题】:Best technique to make node mysql run fastest? 【发布时间】:2020-07-01 23:47:48 【问题描述】:我正在使用这个
var mysql = require('mysql');
在我的 node.js 应用程序中。我有兴趣让我的应用程序执行得最快。我有许多连接到 SQL 的函数。有两种我熟悉的方法
-
对于每个请求,我都会建立一个新连接,然后执行查询并关闭连接。
打开连接并将其设为全局变量,然后永远不要关闭它。然后对于每个进来的请求,它只使用全局保存的打开的连接。
通常哪个更好用?同样对于数字 2,如果服务器意外关闭,则 sql 连接不会关闭。这很糟糕吗?
谢谢
【问题讨论】:
你看到node.js + mysql connection pooling的答案了吗? 第二个,不能换成连接池解决方案吗? 【参考方案1】:方法 2 更快,但为了避免连接意外断开的潜在问题,您必须对查询数据库的每个段实施测试机制(例如:计算返回的行数)。
要进一步采用这种方法,您可以定义连接库或连接池。您可以在哪里处理连接测试和分发。基本思想是与数据库建立许多连接,并且只向消费者(查询数据库的函数或对象)注入健康的连接。正如安德鲁在 cmets 中提到的那样,您可以检查这个问题:node.js + mysql connection pooling
由于数据库是项目的重要资产,如果这不是一个家庭作业或学习项目,那么探索第三方库可能不是一个坏主意,其中很多连接和安全细节都已涵盖并自动化.
【讨论】:
以上是关于使节点mysql运行最快的最佳技术?的主要内容,如果未能解决你的问题,请参考以下文章