mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-29 13:10:48 +00:00
Show marks before applying skipping indices
This change makes skipping index efficiency more obvious, changing this: ``` Selected 30 parts by date, 30 parts by key, 592 marks to read from 541 ranges ``` Into this: ``` Selected 30 parts by date, 30 parts by key, 48324 marks by primary key, 592 marks to read from 541 ranges ```
This commit is contained in:
parent
b8cc2bee53
commit
e835ec0b56
@ -570,6 +570,7 @@ Pipes MergeTreeDataSelectExecutor::readFromParts(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Let's find what range to read from each part.
|
/// Let's find what range to read from each part.
|
||||||
|
size_t sum_marks_pk = 0;
|
||||||
size_t sum_marks = 0;
|
size_t sum_marks = 0;
|
||||||
size_t sum_ranges = 0;
|
size_t sum_ranges = 0;
|
||||||
for (auto & part : parts)
|
for (auto & part : parts)
|
||||||
@ -589,6 +590,9 @@ Pipes MergeTreeDataSelectExecutor::readFromParts(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!ranges.ranges.empty())
|
||||||
|
sum_marks_pk += ranges.getMarksCount();
|
||||||
|
|
||||||
for (const auto & index_and_condition : useful_indices)
|
for (const auto & index_and_condition : useful_indices)
|
||||||
ranges.ranges = filterMarksUsingIndex(
|
ranges.ranges = filterMarksUsingIndex(
|
||||||
index_and_condition.first, index_and_condition.second, part, ranges.ranges, settings, reader_settings);
|
index_and_condition.first, index_and_condition.second, part, ranges.ranges, settings, reader_settings);
|
||||||
@ -602,7 +606,7 @@ Pipes MergeTreeDataSelectExecutor::readFromParts(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_DEBUG(log, "Selected {} parts by date, {} parts by key, {} marks to read from {} ranges", parts.size(), parts_with_ranges.size(), sum_marks, sum_ranges);
|
LOG_DEBUG(log, "Selected {} parts by date, {} parts by key, {} marks by primary key, {} marks to read from {} ranges", parts.size(), parts_with_ranges.size(), sum_marks_pk, sum_marks, sum_ranges);
|
||||||
|
|
||||||
if (parts_with_ranges.empty())
|
if (parts_with_ranges.empty())
|
||||||
return {};
|
return {};
|
||||||
|
Loading…
Reference in New Issue
Block a user