我想看看如何在 Sequelize 中设置查询的超时时间。
我已经查看了 Sequelize 文档以获取一些信息,但我无法完全找到我正在寻找的内容。我发现的最接近的是“pools.acquire”选项,但我不想设置传入连接的超时,而是设置正在进行的查询的超时,以便我可以快速短路死锁。
http://docs.sequelizejs.com/class/lib/sequelize.js~Sequelize.html
这是我的示例代码:
const db = new Sequelize( database, username, password, {
host : hostname,
dialect: "mysql",
define : {},
pool: {
max : 10,
min : 0,
idle: 10000
},
})
Run Code Online (Sandbox Code Playgroud)
任何见解将不胜感激!
答案来自这里
通常,打开数据库连接是一项昂贵的操作,因此池保持连接处于活动状态,以便在稍后请求连接时,使用其中一个活动连接而不是打开另一个连接.
我理解Connection PoolDB管理的概念.这就是" 什么是〜 "问题的答案.所有开发人员的博客文章,答案,教程,数据库文档总是回答" 什么是 " 的问题.就像他们不断地从彼此复制/粘贴文本一样.没有人试图解释" 为什么会如此 "和" 如何 ".上面的答案就是一个例子.
我无法理解为什么以及如何保持池中30个打开的连接对于系统而言比在需要时打开新连接成本更低.
假设我在澳大利亚有一个Web服务器.AWS中的数据库位于美国俄勒冈州的某个地方.或者以GB.或者在远离AUS的任何地方.所以他们都说保持一个20 -...打开的连接池对于内存和系统性能来说比在这种情况下每次打开一个新连接要便宜?它怎么样?为什么?