-
Notifications
You must be signed in to change notification settings - Fork 4.1k
colexec: remove vectorize_row_count_thresold session variable #53893
Copy link
Copy link
Closed
Labels
A-sql-executionRelating to SQL execution.Relating to SQL execution.C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
Description
By default, the vectorized execution engine is only used to execute a query if the query's row count estimate is larger than the vectorize_row_count_threshold. This was because there was a non-negligible allocation overhead.
Since dynamic batches were introduced, the allocations were minimized and the vectorized execution engine demonstrates a 10% speedup on a point lookup workload (kv95), which is a worst-case scenario for the engine.
We should:
- Remove the
vectorize_row_count_thresholdsince it is not useful anymore. - Create an optimizer cost model to take into account the fact that vectorized execution will now be unconditionally used if set (this will be the default). This is a lot easier than what we wanted to do previously, which was make the optimizer decide whether vectorized execution would be beneficial.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-sql-executionRelating to SQL execution.Relating to SQL execution.C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)