使节点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运行最快的最佳技术?的主要内容,如果未能解决你的问题,请参考以下文章

什么是用于临时/旋转存储的最佳/最快 MySQL 表模式,例如会话管理?

节点.js。创建连接的正确/最佳实践

生产环境中的 Elasticsearch 配置和最佳实践

在 SSIS 中最快加载 2000 个文件的最佳方法

如何为MySQL查询优化选择最佳索引

微信群抢红包神器自动抢最佳,微信群里面抢红包怎么抢到最佳?