首批通过分布式安全可靠测评,为关键业务系统打造
ap_query_replica_fallback
更新时间:2026-06-30 09:19:36
说明
该变量从 V4.6.0 版本开始引入。
功能描述
ap_query_replica_fallback 用于当 AP 查询自动分流功能开启控制时,控制无可用列存副本的情况下查询是否回退到非列存副本执行。
权限要求
查询变量
Global 级别
sys租户和所有用户租户均可以使用SHOW VARIABLES语句或视图SYS.TENANT_VIRTUAL_GLOBAL_VARIABLE(Oracle 模式)及视图information_schema.GLOBAL_VARIABLES(MySQL 模式)查看 Global 系统变量的值。Session 级别
sys租户和所有用户租户均可以使用SHOW VARIABLES语句或视图SYS.TENANT_VIRTUAL_SESSION_VARIABLE(Oracle 模式)及视图information_schema.SESSION_VARIABLES(MySQL 模式)查看 Session 系统变量的值。
修改变量
Global 生效
sys租户可以直接修改 Global 系统变量的值。MySQL 用户租户需要拥有
SUPER或ALTER SYSTEM权限才能修改 Global 系统变量的值。Oracle 用户租户需要拥有
ALTER SYSTEM权限才能修改 Global 系统变量的值。
Session 生效
sys租户和所有用户租户均可以直接修改本租户的 Session 系统变量的值。
属性说明
| 属性 | 描述 |
|---|---|
| 参数类型 | Bool |
| 默认值 | ON |
| 取值范围 |
|
| 生效范围 |
|
| 是否可修改 | 是,支持通过 SET 语句修改。 |
使用说明
变量 ap_query_replica_fallback 控制 AP 查询自动路由过程中,无可用列存副本的情况下查询是否回退到非列存副本执行。
- 设置为
ON时:AP/TP 自动分流功能开启时,优化器在为 AP 查询生成列存副本计划前会检查列存副本是否可用。如果查询涉及的表中有任何表没有可用的列存副本,则不会生成列存副本计划,而是回退到非列存副本执行。 - 设置为
OFF时:AP/TP 自动分流功能开启时,优化器不会进行列存副本可用性检查,直接为 AP 查询生成列存副本计划。如果列存副本不可用,查询执行时会返回错误。
该变量与 ap_query_route_policy 配合使用,当 ap_query_route_policy 为 OFF 时,该变量不会产生任何影响。
配置示例
设置 ap_query_replica_fallback 的值为 ON。
Session 生效
obclient> SET ap_query_replica_fallback = ON;Global 生效
obclient> SET GLOBAL ap_query_replica_fallback = ON;