兼容性判定
支持度none
严重度minor
置信度low
依据规则ora.perf.scalar_subquery_select
迁移建议
需按命中位置逐条评估改写
判定说明
继承父能力项 perf_static_risk 的支持度;当前子特征待单独核验,建议 PoC 复核
库侧 / 应用侧路径
库侧改造
需人工确认改造边界
应用侧改造
需人工确认改造边界
推荐路线:case_by_case。验证建议:标量子查询可改 JOIN/预聚合;高频外层行数下需压测重复执行与缓存命中。
规则样例
SELECT o.id, (SELECT max(p.pay_time) FROM payments p WHERE p.order_id=o.id) last_pay FROM orders o
SELECT u.id, (SELECT count(*) FROM orders o WHERE o.user_id=u.id) order_count FROM users u
参考来源
相关改造点
- SELECT 列表中的标量子查询 的 21 目标横向专业场景
- ORACLE → PolarDB(Oracle 兼容)2.0 全部改造点
- PolarDB(Oracle 兼容)2.0 兼容性总览
- ORACLE 迁移国产库总览
- ORACLE CDB/多租户与排序规则 DDL 子句(SHARING / DEFAULT COLLATION / CONTAINER_MAP) 迁移 PolarDB(Oracle 兼容)2.0 适配说明
- ORACLE CHR(0) NUL 字符语义差异 迁移 PolarDB(Oracle 兼容)2.0 适配说明
- ORACLE 字符串拼接 || 的 NULL 语义 迁移 PolarDB(Oracle 兼容)2.0 适配说明
- ORACLE LEVEL 层次伪列 迁移 PolarDB(Oracle 兼容)2.0 适配说明
- ORACLE CREATE INDEX ... NOLOGGING 迁移 PolarDB(Oracle 兼容)2.0 适配说明
- ORACLE DATE 类型含时间部分的语义 迁移 PolarDB(Oracle 兼容)2.0 适配说明