[SERVER-55654] Optimize non-removable, range-based windows Created: 30/Mar/21  Updated: 06/Dec/22  Resolved: 21/Apr/21

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: David Percy Assignee: Backlog - Query Optimization
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-54294 Implement executor for range-based wi... Closed
Duplicate
duplicates SERVER-54294 Implement executor for range-based wi... Closed
Assigned Teams:
Query Optimization
Participants:

 Description   

WindowFunctionExecRange handles all range-based windows the same way: each step, it finds the window's endpoints. For a left-unbounded window like [unbounded, +3], we can make a couple improvements:

  • Instead of a WindowFunctionState, we can use a cheaper AccumulatorState.
  • We can release documents sooner. Policy::kEndpoints assumes the Exec needs the left endpoint, but for a left-unbounded window we only need the right endpoint.


 Comments   
Comment by David Percy [ 21/Apr/21 ]

We ended up doing this in the same commit as SERVER-54294.

Generated at Thu Feb 08 05:37:04 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.