Skip to content

Latest commit

 

History

History
33 lines (22 loc) · 4.73 KB

query-options.md

File metadata and controls

33 lines (22 loc) · 4.73 KB
description
This document contains all the available query options

Query Options

Supported Query Options

KeyDescriptionDefault Behavior
timeoutMsTimeout of the query in millisecondsUse table/broker level timeout
enableNullHandlingTo enable basic null support (`IS NULL` and `IS NOT NULL`) and generate the null index, set **`nullHandlingEnabled=true`** in the Table index configuration ([tableIndexConfig](https://docs.pinot.apache.org/configuration-reference/table#tableindexconfig-1)). 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](../../../developers/advanced/null-value-support.md) for more information. (introduced in 0.11.0)false (disabled)
explainPlanVerboseReturn verbose result for EXPLAIN query (introduced in 0.11.0)false (not verbose)
useMultistageEngineUse multi-stage engine to execute the query (introduced in 0.11.0)false (use single-stage engine)
maxExecutionThreadsMaximum threads to use to execute the query. Useful to limit the resource usage for expensive queriesHalf of the CPU cores for non-group-by queries; all CPU cores for group-by queries
numReplicaGroupsToQueryWhen 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)
minSegmentGroupTrimSizeMinimum groups to keep when trimming groups at the segment level for group-by queries. See #configuration-parametersServer level config
minServerGroupTrimSizeMinimum groups to keep when trimming groups at the server level for group-by queries. See #configuration-parametersServer level config
skipUpsertFor upsert-enabled table, skip the effect of upsert and query all the records. See upsert.mdfalse (exclude the replaced records)
useStarTreeUseful to debug the star-tree index (introduced in 0.11.0)true (use star-tree if available)
AndScanReorderingSee detailed descriptiondisabled
maxRowsInJoinConfigure maximum rows allowed in join hash-table creation phase

default value read from cluster config

pinot.query.join.max.rows

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 timefalse (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 ids
  • PLAIN_BINARY_SEARCH: Do not sort the IN clause values, but directly binary search each IN clause value in the dictionary
DIVIDE_BINARY_SEARCH

Set Query Options

SET statement

After release 0.11.0, query options can be set using the SET statement:

SET key1 = 'value1';
SET key2 = 123;
SELECT * FROM myTable

OPTION keyword (deprecated)

Before release 0.11.0, query options can be appended to the query with the OPTION keyword:

SELECT * FROM myTable OPTION(key1=value1, key2=123)
SELECT * FROM myTable OPTION(key1=value1) OPTION(key2=123)
SELECT * FROM myTable OPTION(timeoutMs=30000)