A clone of the options with the updated optimizer statistics package.
Remarks
The parameter allows individual queries to pick different query
optimizer statistics packages.
Specifying "latest" as a value instructs Cloud Spanner to use the
latest supported query optimizer statistics package. If not specified,
Cloud Spanner uses the optimizer statistics package set at the database
level options. Any other supported statistics package value overrides
the default optimizer statistics package for query execution.
WithOptimizerVersion(string)
public QueryOptions WithOptimizerVersion(string optimizerVersion)
Clones the options and sets the optimizer version to the given value.
A clone of the options with the updated optimizer version.
Remarks
The parameter allows individual queries to pick different query
optimizer versions.
Specifying "latest" as a value instructs Cloud Spanner to use the
latest supported query optimizer version. If not specified, Cloud Spanner
uses 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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe latest version of the \u003ccode\u003eQueryOptions\u003c/code\u003e for \u003ccode\u003eGoogle.Cloud.Spanner.Data\u003c/code\u003e is \u003ccode\u003e5.0.0-beta05\u003c/code\u003e, with multiple older versions available, including stable releases and beta versions.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eQueryOptions\u003c/code\u003e is an immutable class used to configure query behavior, like the query optimizer, and is part of the \u003ccode\u003eGoogle.Cloud.Spanner.Data\u003c/code\u003e namespace.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eEmpty\u003c/code\u003e property of \u003ccode\u003eQueryOptions\u003c/code\u003e creates query options without any specific configurations.\u003c/p\u003e\n"],["\u003cp\u003eThe class allows setting specific optimizer configurations like \u003ccode\u003eOptimizerStatisticsPackage\u003c/code\u003e and \u003ccode\u003eOptimizerVersion\u003c/code\u003e, which can be set individually for each query.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eQueryOptions\u003c/code\u003e class provides methods to get the hash code of the class, convert the class to and from a \u003ccode\u003eproto\u003c/code\u003e, and clone it.\u003c/p\u003e\n"]]],[],null,["# Google.Cloud.Spanner.Data - Class QueryOptions (5.1.0)\n\nVersion latestkeyboard_arrow_down\n\n- [5.1.0 (latest)](/dotnet/docs/reference/Google.Cloud.Spanner.Data/latest/Google.Cloud.Spanner.Data.QueryOptions)\n- [5.0.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/5.0.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [4.6.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/4.6.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [4.5.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/4.5.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [4.4.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/4.4.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [4.3.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/4.3.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [4.2.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/4.2.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [4.1.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/4.1.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [4.0.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/4.0.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [3.15.1](/dotnet/docs/reference/Google.Cloud.Spanner.Data/3.15.1/Google.Cloud.Spanner.Data.QueryOptions)\n- [3.14.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/3.14.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [3.13.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/3.13.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [3.12.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/3.12.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [3.11.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/3.11.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [3.10.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/3.10.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/3.9.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/3.8.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/3.7.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/3.6.0/Google.Cloud.Spanner.Data.QueryOptions)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Spanner.Data/3.5.0/Google.Cloud.Spanner.Data.QueryOptions) \n\n public sealed class QueryOptions : IEquatable\u003cQueryOptions\u003e\n\nReference documentation and code samples for the Google.Cloud.Spanner.Data class QueryOptions.\n\nImmutable class representing query options. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e QueryOptions \n\nImplements\n----------\n\n[IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[QueryOptions](/dotnet/docs/reference/Google.Cloud.Spanner.Data/latest/Google.Cloud.Spanner.Data.QueryOptions) \n\nInherited Members\n-----------------\n\n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Spanner.Data](/dotnet/docs/reference/Google.Cloud.Spanner.Data/latest/Google.Cloud.Spanner.Data)\n\nAssembly\n--------\n\nGoogle.Cloud.Spanner.Data.dll\n\nProperties\n----------\n\n### Empty\n\n public static QueryOptions Empty { get; }\n\nCreates query options without specifying any options.\n\n### OptimizerStatisticsPackage\n\n public string OptimizerStatisticsPackage { get; }\n\nThe query optimizer statistics package configured in the options.\n\n### OptimizerVersion\n\n public string OptimizerVersion { get; }\n\nThe query optimizer version configured in the options.\n\nMethods\n-------\n\n### FromProto(QueryOptions)\n\n public static QueryOptions FromProto(ExecuteSqlRequest.Types.QueryOptions proto)\n\nSet query options from the given proto.\n\n**Remarks** \nThe given proto should not be null. The given proto is cloned.\n\n### GetHashCode()\n\n public override int GetHashCode()\n\nServes as the default hash function.\n\n**Overrides** \n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode)\n\n### ToProto()\n\n public ExecuteSqlRequest.Types.QueryOptions ToProto()\n\nGet proto version of the query options.\n\n### WithOptimizerStatisticsPackage(string)\n\n public QueryOptions WithOptimizerStatisticsPackage(string optimizerStatisticsPackage)\n\nClones the options and sets the optimizer statistics package to the given value.\n\n**Remarks** \nThe parameter allows individual queries to pick different query\noptimizer statistics packages.\n\nSpecifying \"latest\" as a value instructs Cloud Spanner to use the\nlatest supported query optimizer statistics package. If not specified,\nCloud Spanner uses the optimizer statistics package set at the database\nlevel options. Any other supported statistics package value overrides\nthe default optimizer statistics package for query execution.\n\n### WithOptimizerVersion(string)\n\n public QueryOptions WithOptimizerVersion(string optimizerVersion)\n\nClones the options and sets the optimizer version to the given value.\n\n**Remarks** \nThe parameter allows individual queries to pick different query\noptimizer versions.\n\nSpecifying \"latest\" as a value instructs Cloud Spanner to use the\nlatest supported query optimizer version. If not specified, Cloud Spanner\nuses optimizer version set at the database level options. Any other\npositive integer (from the list of supported optimizer versions)\noverrides the default optimizer version for query execution."]]