[MCOL-4783] Propagate LIMIT into TupleBPS to reduce the number of simultaneous Primitive Jobs issued by TBPS Created: 2021-06-29  Updated: 2023-12-15

Status: Open
Project: MariaDB ColumnStore
Component/s: ExeMgr
Affects Version/s: 6.1.1
Fix Version/s: Icebox

Type: New Feature Priority: Major
Reporter: Roman Assignee: Max Mether
Resolution: Unresolved Votes: 0
Labels: None

Epic Link: ColumnStore Performance Improvements

 Description   

As of 6.1.1 TupleBPS::sendJobs() sends out JobList.MaxOutstandingRequests(20 extents of work by default) * 1024 Primitive Jobs simultaneously. By default it worths 20 extents of columnar data.
In case of queries like SELECT * FROM table_with_500_columns LIMIT 1 this overwhelms PPs with needless work and spoils the buffer cache. The optimizer must propagate the LIMIT into TupleBPS so that it issues a limited number of outstanding Primitive jobs for queries where it is semantically possible.


Generated at Thu Feb 08 02:52:57 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.