You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/user-guide/protocols/http.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,6 +92,7 @@ Supported hints:
92
92
|`append_mode`| Boolean |`false`| Enables [append-only mode](/reference/sql/create.md#create-an-append-only-table) for the table, which disables deduplication by primary key and supports duplicate rows. For InfluxDB line protocol writes, an explicit `append_mode=true` hint creates the table with `append_mode = 'true'` and `merge_mode = 'last_row'`. |
93
93
|`merge_mode`| String | None | Sets the [merge mode](/reference/sql/create.md#create-a-table-with-merge-mode) for the table, e.g. `last_non_null`, `last_row`. For auto-created InfluxDB line protocol tables, this hint takes precedence over [`influxdb.default_merge_mode`](/user-guide/deployments-administration/configuration.md), which defaults to `last_non_null`. When `append_mode` is enabled, only `last_row` is allowed. |
94
94
|`physical_table`| String | None | Specifies the physical table name for the [metric engine](/contributor-guide/datanode/metric-engine.md). |
95
+
|`query.enable_remote_dynamic_filter_pushdown`| Boolean |`true`| Enables remote dynamic filter pushdown for SQL queries. Set it to `false` to disable Frontend-to-Datanode dynamic filter propagation for the current request. See [Remote dynamic filter pushdown](/user-guide/query-data/sql.md#remote-dynamic-filter-pushdown). |
95
96
|`skip_wal`| Boolean |`false`| Skips WAL (Write-Ahead Log) writes for the table. |
96
97
|`sst_format`| String | None | Sets the SST (Sorted String Table) file format for the table. Valid values: `flat`, `primary_key`. |
97
98
|`trace_table_partitions`| Int | None | Override default partition number (16) of trace tables. Set to `0` or `1` to disable partitioning. |
Copy file name to clipboardExpand all lines: docs/user-guide/query-data/sql.md
+29Lines changed: 29 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -242,6 +242,35 @@ SELECT * FROM monitor ORDER BY ts ASC;
242
242
SELECT*FROM monitor ORDER BY ts DESC;
243
243
```
244
244
245
+
## Remote dynamic filter pushdown
246
+
247
+
GreptimeDB enables remote dynamic filter pushdown by default for distributed SQL queries.
248
+
It is mainly used by distributed join queries.
249
+
When a join builds a runtime dynamic filter from one side of the join, the Frontend can propagate that filter to Datanodes so scans on the other side may prune data earlier.
250
+
Some other operators, such as TopK (`ORDER BY ... LIMIT`), may also produce dynamic filters in eligible plans.
251
+
252
+
This is a best-effort performance optimization and does not change query results.
253
+
It only applies when the distributed query plan contains a dynamic filter that can be sent to remote scans.
254
+
If the query plan has no dynamic filter, or if the filter cannot be encoded or applied safely, GreptimeDB runs the query without remote dynamic filter pushdown.
255
+
256
+
To disable this optimization for one HTTP SQL request, set the `query.enable_remote_dynamic_filter_pushdown` hint to `false`:
0 commit comments