请问polardb的 max prepared stmt count 参数显示是100000,但是查询返回的报错信息说当前值16382,怎么回事?more than max prepared stmt count statements (current value: 16382)
这个错误信息表示当前已经使用了16382个预处理语句(prepared statements),而PolarDB的最大预处理语句数为100000。当达到最大值时,无法再创建新的预处理语句,因此查询返回了报错信息。
要解决这个问题,您可以尝试以下方法:
关闭不需要的预处理语句:检查您的应用程序或数据库中是否有不再使用的预处理语句,如果有,可以将其关闭以释放空间。
增加最大预处理语句数:如果确实需要更多的预处理语句,可以考虑增加PolarDB的最大预处理语句数。您可以联系阿里云技术支持团队,了解如何调整该参数。
优化查询:检查您的查询是否可以优化,减少预处理语句的使用。例如,可以使用绑定变量(bind variables)来避免重复创建预处理语句。
清理旧的预处理语句:定期清理旧的预处理语句,以释放空间并避免达到最大值。
看了下,您这个实例创建时应用的还是之前的参数模版16382,后来PolarDB调整过这个参数的默认值到100000,导致您那边的控制台展示的是100000,登陆到数据库去show的话还是16382。此回答整理自钉群“PolarDB 专家面对面 - 网络&连接&线程池功能”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。