description |
---|
This document contains all the available query options |
Key | Description | Default Behavior |
---|---|---|
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](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) |
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 | Minimum groups to keep when trimming groups at the segment level for group-by queries. See #configuration-parameters | Server level config |
minServerGroupTrimSize | Minimum groups to keep when trimming groups at the server level for group-by queries. See #configuration-parameters | Server level config |
skipUpsert | For upsert-enabled table, skip the effect of upsert and query all the records. See upsert.md | false (exclude the replaced records) |
useStarTree | Useful to debug the star-tree index (introduced in 0.11.0) | true (use star-tree if available) |
AndScanReordering | See detailed description | disabled |
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 |
After release 0.11.0, query options can be set using the SET
statement:
SET key1 = 'value1';
SET key2 = 123;
SELECT * FROM myTable
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)