Reduce redundant pack reads during building bitmap filter for delta merge case (#9876)#10458
Reduce redundant pack reads during building bitmap filter for delta merge case (#9876)#10458ti-chi-bot wants to merge 1 commit intopingcap:release-8.5from
Conversation
Signed-off-by: ti-chi-bot <ti-community-prow-bot@tidb.io>
|
@gengliqi This PR has conflicts, I have hold it. |
|
@ti-chi-bot: ## If you want to know how to resolve it, please read the guide in TiDB Dev Guide. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Replaced by #10293 |
|
@ti-chi-bot: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
This is an automated cherry-pick of #9876
What problem does this PR solve?
Issue Number: close #9875
Problem Summary:
See #9875
This optimization can provide a significant performance boost when the data being read is not updated frequently.
What is changed and how it works?
Run CHBenchmark 1500: Overall 26.5% Improvement
The above table shows the delta rows for each table in
chbench_deltadatabase.All Stable Performance Comparison
The following table presents the performance improvements for All Stable compared to both the original version (with Delta) and the optimized version (with Delta):
The chbenchmark data was inserted into another database. Then the compact table command is executed. As a result, the data might differ. So there are some differences in the query plans. For example, in Q20, the query plan uses hash partition join and includes late materialization for order_line table in the All Stable version, while original version uses broadcast join and no late materialization for order_line table. This causes Q20 to run slower in All Stable compared to the original version due to exchange overhead and low selectivity.
Check List
Tests
Side effects
Documentation
Release note