问题一: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
关于本问题的更多回答可点击原文查看: