Oracle 参数 OPTIMIZER_CROSS_SHARD_RESILIENCY 官方解释,作用,如何配置最优化建议

本站中文解释

OPTIMIZER_CROSS_SHARD_RESILIENCY参数指定了普通查询(非分片查询)在分片中执行时是否被视为外部表或者虚拟表,从而影响优化器的计划选项。

此参数在Oracle18c中添加,它可为LONG类型的数据(如文本)创建可靠的计划优化,从而提高查询性能。

此参数具有两个值:

1、FALSE:普通查询将被视为局部查询,就像在单个实例或数据库上引用特定表一样,优化器不会进一步检查分片状态,因此可能无法创建准确的执行计划。

2、TRUE:普通查询将被视为外部表,这样优化器就可以继续检查分片状态,并且可以正确计划查询。

正确设置:

在18c中建议将此参数设置为TRUE,以确保查询计划的准确性和可靠性。

在设置此参数后,可以考虑再次执行常见的SQL语句,以确保已应用此参数的情况。可以通过查看V$SQL_MONITOR视图来验证是否已启用该参数。

官方英文解释

OPTIMIZER_CROSS_SHARD_RESILIENCY enables resilient execution of cross shard queries.

Property Description

Parameter type

Boolean

Default value

false

Modifiable

ALTER SESSION, ALTER SYSTEM

Modifiable in a PDB

Yes

Range of values

true | false

Basic

No

Oracle RAC

The same value must be used on all instances.

When this parameter is set to true and a cross-shard query fails on one or more shards, the query execution continues on the Oracle Data Guard standbys of the failed shards. This parameter is not set to true by default, because there may be performance overhead for the resilient query execution.

Note:

This parameter is available starting with Oracle Database 21c.


数据运维技术 » Oracle 参数 OPTIMIZER_CROSS_SHARD_RESILIENCY 官方解释,作用,如何配置最优化建议