Skip to content

Reduce redundant pack reads during building bitmap filter for delta merge case #9875

@gengliqi

Description

@gengliqi

Enhancement

When building bitmap filter for stable only, if the pack is clean(has no multi-version) and max_version < read_ts, we don't need to read rowkey&version&del columns, just setting all bitmap values in this pack range to true is enough. This optimization can significantly boost performance when most packs meet the conditions.

However, if this segment has some delta data, there is no such optimization even when the data being read is not updated frequently.
We can apply this optimization for delta merge case with the help of the delta index. The principle is that if the sid range of the pack is contiguous within the ordered data provided by the delta index, then this pack optimization can be applied.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions