我正在将Sequelize(v5)与MySQL语言配合使用,遇到数据库错误ER_MAX_PREPARED_STMT_COUNT_REACHED
时遇到问题。我分配的准备好的语句的最大值应该足够高。在运行大量流量的压力测试时会发生此问题。
我的根本问题是,Sequelize如何管理准备好的语句?我浏览了方言查询源代码,并使用了两个函数来执行查询(execute()
和query()
)。我看不到调用unprepare()
来关闭语句的任何地方。
Sequelize是否假设一旦关闭相关连接就将关闭准备好的语句?
指向Sequelize使用的准备好的语句的mysql2 npm软件包文档的链接: https://github.com/sidorares/node-mysql2/blob/master/documentation/Prepared-Statements.md
最好选择何时关闭准备好的语句,因为默认情况下它们用于具有参数的查询。