Query Options
This document contains all the available query options
Supported Query Options
timeoutMs
Timeout of the query in milliseconds
Use table/broker level timeout
enableNullHandling
To enable basic null support (IS NULL
and IS NOT NULL
) and generate the null index, set nullHandlingEnabled=true
in the Table index configuration tableIndexConfig. When null support is enabled, IS NOT NULL
and IS NULL
evaluate to true
or false
according to whether a null is detected. See Null value support for more information. (introduced in 0.11.0)
false
(disabled)
explainPlanVerbose
Return verbose result for EXPLAIN
query (introduced in 0.11.0)
false
(not verbose)
useMultistageEngine
Use multi-stage engine to execute the query (introduced in 0.11.0)
false
(use single-stage engine)
maxExecutionThreads
Maximum threads to use to execute the query. Useful to limit the resource usage for expensive queries
Half of the CPU cores for non-group-by queries; all CPU cores for group-by queries
numReplicaGroupsToQuery
When replica-group based routing is enabled, use it to query multiple replica-groups (introduced in 0.11.0)
1
(only query servers within the same replica-group)
minSegmentGroupTrimSize
Server level config
minServerGroupTrimSize
Server level config
skipUpsert
For upsert-enabled table, skip the effect of upsert and query all the records. See Stream Ingestion with Upsert
false
(exclude the replaced records)
useStarTree
Useful to debug the star-tree index (introduced in 0.11.0)
true
(use star-tree if available)
maxRowsInJoin
Configure maximum rows allowed in join hash-table creation phase
default value read from cluster config
if not set, the default will be
2^20 (1024*1024)
inPredicatePreSorted
(Only apply to STRING columns) Indicates that the values in the IN clause is already sorted, so that Pinot doesn't need to sort them again at query time
false
(values in IN predicate is not pre-sorted)
inPredicateLookupAlgorithm
(Only apply to STRING columns) The algorithm to use to look up the dictionary ids for the IN clause values.
DIVIDE_BINARY_SEARCH
: Sort the IN clause values and do binary search on both dictionary and IN clause values at same time to reduce the value lookups
SCAN
: Sort the IN clause values and scan both dictionary and IN clause values to get the matching dictionary idsPLAIN_BINARY_SEARCH
: Do not sort the IN clause values, but directly binary search each IN clause value in the dictionary
DIVIDE_BINARY_SEARCH
maxServerResponseSizeBytes
Long value config indicating the maximum length of the serialized response per server for a query.
Overriding priortiy order: 1. QueryOption -> maxServerResponseSizeBytes
2. QueryOption -> maxQueryResponseSizeBytes
3. TableConfig -> maxServerResponseSizeBytes
4. TableConfig -> maxQueryResponseSizeBytes
5. BrokerConfig -> maxServerResponseSizeBytes
6. BrokerConfig -> maxServerResponseSizeBytes
maxQueryResponseSizeBytes
Long value config indicating the maximum serialized response size across all servers for a query. This value is equally divided across all servers processing the query.
Overriding priortiy order: 1. QueryOption -> maxServerResponseSizeBytes
2. QueryOption -> maxQueryResponseSizeBytes
3. TableConfig -> maxServerResponseSizeBytes
4. TableConfig -> maxQueryResponseSizeBytes
5. BrokerConfig -> maxServerResponseSizeBytes
6. BrokerConfig -> maxServerResponseSizeBytes
Set Query Options
SET statement
After release 0.11.0, query options can be set using the SET
statement:
OPTION keyword (deprecated)
Before release 0.11.0, query options can be appended to the query with the OPTION
keyword: