PolarDB产品使用问题之遇到慢SQL问题,该如何解决

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。

问题一:PolarDB这个慢SQL问题怎么解决?


PolarDB这个慢SQL问题怎么解决?/FORCE_IMCI_NODES/

SELECT /+ SET_VAR(cost_threshold_for_imci=0) / log.id, o.server_id, o.order_id

FROM account_pay_log log

INNER JOIN v3_order o ON o.order_id = log.order_id

INNER JOIN v2_order_time t ON t.order_id = log.order_id

WHERE log.status IN (1, 2)

AND o.order_status IN (4, 5, 6, 20)

AND (log.has_refund < log.money)

AND log.created_at BETWEEN 1703433600 AND 1704938608

AND (t.received_at < 1704765808)

AND (log.money_type = 1)

AND (log.enable_account = 1)

AND (log.id < '21392532')

ORDER BY log.id DESC

LIMIT 100

pc-uf6k66fx7euc06w79


参考回答:

试下hint指定走行存执行计划看下执行时间,也有可能是发到列存节点执行了,看着行存的执行计划是没问题的

SELECT /+ SET_VAR(use_imci_engine=0) / log.id, o.server_id, o.order_id

FROM account_pay_log log

INNER JOIN v3_order o ON o.order_id = log.order_id

INNER JOIN v2_order_time t ON t.order_id = log.order_id

WHERE log.status IN (1, 2)

AND o.order_status IN (4, 5, 6, 20)

AND (log.has_refund < log.money)

AND log.created_at BETWEEN 1703433600 AND 1704938608

AND (t.received_at < 1704765808)

AND (log.money_type = 1)

AND (log.enable_account = 1)

AND (log.id < '21392532')

ORDER BY log.id DESC

LIMIT 100;


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/590586



问题二:PolarDB为什么不生效?


PolarDB为什么不生效?


参考回答:

这个 recursive CTE 算是比较复杂的SQL结构,MySQL在 HINT 上可能支持的不是很完善。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/590576



问题三:PolarDB界面上提示我的实例已经运行中了,但是我操作一直提示我在迁移中我这个任务在哪里看?


PolarDB界面上提示我的实例已经运行中了,但是我操作一直提示我在迁移中我这个任务在哪里看?


参考回答:

dts 迁移的是实例,在控制台,迁移里面,有个要完成 迁移。参考 https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/procedure-1?spm=a2c4g.11186623.0.0.74e22367HxXoyC 


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/590564



问题四:PolarDB这个报错啥意思?当前实例小版本不支持增加列存节点,请申请版本重试。


PolarDB这个报错啥意思?当前实例小版本不支持增加列存节点,请申请版本重试。


参考回答:

可能版本比较旧了, 可以升级到 8.0.1.1.39.2。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/590364



问题五:我在使用工具(flink-cdc)解析binlog时候,同样的数据polardb出现问题了,为什么?


我在使用工具(flink-cdc)解析binlog时候,也在华为云测试了,同样的数据和同样的造作。华为云无异常,polardb 出现问题了,可以提供数据,什么原因呢?数据库中一个表数据数据包含json 格式!Caused by: io.debezium.DebeziumException: Failed to deserialize data of EventHeaderV4{timestamp=1704361661000, eventType=TABLE_MAP, serverId=27570245, headerLength=19, dataLength=123, nextPosition=468891965, flags=0}

at io.debezium.connector.mysql.MySqlStreamingChangeEventSource.wrap(MySqlStreamingChangeEventSource.java:1488)

... 5 more

Caused by: com.github.shyiko.mysql.binlog.event.deserialization.EventDataDeserializationException: Failed to deserialize data of EventHeaderV4{timestamp=1704361661000, eventType=TABLE_MAP, serverId=27570245, headerLength=19, dataLength=123, nextPosition=468891965, flags=0}

at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.deserializeEventData(EventDeserializer.java:341)

at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.deserializeTableMapEventData(EventDeserializer.java:313)

at com.github.shyiko.mysql.binlog.event.deserialization.EventDeserializer.nextEvent(EventDeserializer.java:237)

flink -cdc 的时候出现这个错误


参考回答:

flink cdc 的解析报错,需要从 flink cdc 那边调试分析下失败原因,看日志大概是 TABLE_MAP event 解析失败。建议用 mysqlbinlog 工具解析 binlog 配合分析。

我搜索到 flink cdc 关于 json 字段解析失败的 issue,跟你这个报错信息比较吻合,建议咨询下 flink cdc 开发者这个 bug 的修复情况。

https://github.com/ververica/flink-cdc-connectors/issues/2192 


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/590318

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
2月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何在SQL语句里使用CASE WHEN语句
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
1月前
|
并行计算 关系型数据库 分布式数据库
朗坤智慧科技「LiEMS企业管理信息系统」通过PolarDB产品生态集成认证!
近日,朗坤智慧科技股份有限公司「LiEMS企业管理信息系统软件」通过PolarDB产品生态集成认证!
|
2月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之未保存的ODPS SQL语句该如何找回
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2月前
|
Cloud Native 关系型数据库 大数据
定川信息「川立方数治平台」通过PolarDB产品生态集成认证!
杭州定川信息技术有限公司「川立方数据治理一体化智能平台」通过PolarDB产品生态集成认证!
|
2月前
|
SQL 安全 关系型数据库
关系型数据库SQL server DELETE 语句
【8月更文挑战第3天】
67 10
|
2月前
|
SQL 关系型数据库 数据库
关系型数据库SQL server UPDATE 语句
【8月更文挑战第3天】
64 10
|
2月前
|
SQL 关系型数据库 BI
关系型数据库SQL server INSERT 语句
【8月更文挑战第3天】
53 9
|
2月前
|
SQL 关系型数据库 数据库
|
2月前
|
SQL DataWorks 安全
DataWorks产品使用合集之怎么跨项目移动sql任务
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之sql查询如何导出全量数据
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。

相关产品

  • 云原生数据库 PolarDB