QueryOptions

Query optimizer configuration.

JSON representation
{"optimizerVersion":string,"optimizerStatisticsPackage":string}
Fields
optimizerVersion

string

An option to control the selection of optimizer version.

This parameter allows individual queries to pick different query optimizer versions.

Specifyinglatest as a value instructs Cloud Spanner to use the latest supported query optimizer version. If not specified, Cloud Spanner uses the optimizer version set at the database level options. Any other positive integer (from the list of supported optimizer versions) overrides the default optimizer version for query execution.

The list of supported optimizer versions can be queried fromSPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.

Executing a SQL statement with an invalid optimizer version fails with anINVALID_ARGUMENT error.

Seehttps://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer for more information on managing the query optimizer.

TheoptimizerVersion statement hint has precedence over this setting.

optimizerStatisticsPackage

string

An option to control the selection of optimizer statistics package.

This parameter allows individual queries to use a different query optimizer statistics package.

Specifyinglatest as a value instructs Cloud Spanner to use the latest generated statistics package. If not specified, Cloud Spanner uses the statistics package set at the database level options, or the latest package if the database option isn't set.

The statistics package requested by the query has to be exempt from garbage collection. This can be achieved with the following DDL statement:

ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)

The list of available statistics packages can be queried fromINFORMATION_SCHEMA.SPANNER_STATISTICS.

Executing a SQL statement with an invalid optimizer statistics package or with a statistics package that allows garbage collection fails with anINVALID_ARGUMENT error.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-05-30 UTC.