PolarDB-X在编译计算节点CN的时候,一直提示获取资源超时怎么办?
PXC-4202 ERR_SQL_QUERY_TIMEOUT
描述:PolarDB-X查询超时。
示例:ERR-CODE: [PXC-4202][ERR_SQL_QUERY_TIMEOUT] Slow query leads to a timeout exception, please contact DBA to check slow sql. SocketTimout: ms, Atom:**, Group:*, AppName:*, Env:*, UnitName:null.
说明:该错误表示SQL语句在后端数据节点上的执行时间超过PolarDB-X设置的socketTimeout参数限制。默认的PolarDB-X超时(socketTimeout)时间设置是900秒。
建议优化SQL语句,以及在后端数据节点上创建适合的索引以提升SQL语句的执行性能。如果优化后的SQL语句仍然较慢,可以参见如下Hint语法临时设置PolarDB-X的超时时间:/TDDL:SOCKET_TIMEOUT=900000/ SELECT * FROM dual;,其中SOCKET_TIMEOUT设置的单位是毫秒。关于PolarDB-X的Hint用法,详情请参见如何自定义SQL超时时间。如果需要永久调整PolarDB-X超时设置,请联系技术支持。
PXC-4203 ERR_SQL_QUERY_MERGE_TIMEOUT
描述:PolarDB-X分布式查询超时。
示例:ERR-CODE: [PXC-4203][ERR_SQL_QUERY_MERGE_TIMEOUT] Slow sql query leads to a timeout exception during merging results, please optimize the slow sql. The the default timeout is ms. DB is **
说明:PolarDB-X执行分布式查询超时,默认的超时设置是900秒。产生PXC-4203错误表示SQL语句扫描了多个分库的数据并且执行时间超过900秒。
建议进行如下优化:
在WHERE条件中添加分库键(Sharding key)条件,将SQL语句优化成单库执行;
检查是否可以在后端数据节点上创建适合的索引,提升扫描各个分库数据的性能;
设法消除分布式查询中的跨库JOIN,数据重排序等耗时操作,降低PolarDB-X数据合并阶段的消耗。
如果优化后的SQL语句仍然较慢,可以使用如下Hint语法临时设置PolarDB-X的超时时间:/TDDL:SOCKET_TIMEOUT=900000/ SELECT * FROM dual;,其中SOCKET_TIMEOUT设置的单位是毫秒。关于PolarDB-X的Hint用法,详情请参见如何自定义SQL超时时间。
参考文档https://help.aliyun.com/zh/polardb/polardb-for-xscale/error-codes-3
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,100%兼容MySQL。 2021年开源,开源历程及更多信息访问:OpenPolarDB.com/about