Here's the comment for the patch by Olav Sandstaa from mysql-server/trunk rev 3639.1.70 where he explains why we have aperformance degradation for sysbench.
<<
Revision id: olav.sandstaa@oracle.com-20111201141210-e3b0gucoy6oz2asq
Committer: Olav Sandstaa <olav.sandstaa@oracle.com>
Timestamp: Thu 2011-12-01 15:12:10 +0100
Fix for Bug#13430436 PERFORMANCE DEGRADATION IN SYSBENCH ON INNODB DUETO ICP
When running sysbench on InnoDB there is a performance degradation due to index condition pushdown (ICP). Several of the queries in sysbench have a WHERE condition that the optimizer uses for executing these queries as range scans. The upper and lower limit of the range scan will ensure that the WHERE condition is fulfilled. Still, the WHERE condition is part of the queries' condition and if ICP is enabled the condition will be pushed down to InnoDB as an index condition.
Due to the range scan's upper and lower limits ensure that the WHERE condition is fulfilled, the pushed index condition will not filter out any records. As a result the use of ICP for these queries results in a
performance overhead for sysbench. This overhead comes from using resources for determining the part of the condition that can be pushed down to InnoDB and overhead in InnoDB for executing the pushed index condition.
...
/>>
Here's the comment for the patch by Olav Sandstaa from mysql-server/trunk rev 3639.1.70 where he explains why we have aperformance degradation for sysbench.
<<
Revision id: olav.sandstaa@oracle.com-20111201141210-e3b0gucoy6oz2asq
Committer: Olav Sandstaa <olav.sandstaa@oracle.com>
Timestamp: Thu 2011-12-01 15:12:10 +0100
Fix for Bug#13430436 PERFORMANCE DEGRADATION IN SYSBENCH ON INNODB DUETO ICP
When running sysbench on InnoDB there is a performance degradation due to index condition pushdown (ICP). Several of the queries in sysbench have a WHERE condition that the optimizer uses for executing these queries as range scans. The upper and lower limit of the range scan will ensure that the WHERE condition is fulfilled. Still, the WHERE condition is part of the queries' condition and if ICP is enabled the condition will be pushed down to InnoDB as an index condition.
Due to the range scan's upper and lower limits ensure that the WHERE condition is fulfilled, the pushed index condition will not filter out any records. As a result the use of ICP for these queries results in a
performance overhead for sysbench. This overhead comes from using resources for determining the part of the condition that can be pushed down to InnoDB and overhead in InnoDB for executing the pushed index condition.
...
/>>