[Improve](inverted index) improve performance by introducing bulk contains for bitmap in _build_index_result_column (#34831)
This commit is contained in:
@ -2510,12 +2510,13 @@ void SegmentIterator::_build_index_result_column(const uint16_t* sel_rowid_idx,
|
||||
vectorized::ColumnUInt8::Container& vec_match_pred = index_result_column->get_data();
|
||||
vec_match_pred.resize(block->rows());
|
||||
size_t idx_in_selected = 0;
|
||||
roaring::BulkContext bulk_context;
|
||||
|
||||
for (uint32_t i = 0; i < _current_batch_rows_read; i++) {
|
||||
auto rowid = _block_rowids[i];
|
||||
if (sel_rowid_idx == nullptr ||
|
||||
(idx_in_selected < select_size && i == sel_rowid_idx[idx_in_selected])) {
|
||||
if (index_result.contains(rowid)) {
|
||||
if (index_result.containsBulk(bulk_context, rowid)) {
|
||||
vec_match_pred[idx_in_selected] = true;
|
||||
} else {
|
||||
vec_match_pred[idx_in_selected] = false;
|
||||
|
||||
Reference in New Issue
Block a user