List:Internals« Previous MessageNext Message »
From:Guilhem Bichot Date:July 29 2009 9:20pm
Subject:Re: why REPEATABLE-READ read more innodb rows than READ-COMMITTED
during DBT2 run?
View as plain text  
Hello,

Xuekun Hu a écrit, Le 14.07.2009 08:02:
> Hi, Guys
> 
> I set transaction isolation level to REPEATABLE-READ and
> READ-COMMITTED separately to test DBT2 10 warehouses on 16 cores
> system with 32 connections. The dbt2 performance with REPEATABLE-READ
> was 9% lower than with READ-COMMITTED. By checking status, I found the
> REPEATABLE-READ mode was reading 64% more "innodb_rows_read" than
> READ-COMMITTED mode.

A wild guess: maybe a transaction which wants to read a row starts by 
looking at the latest version of the row; assuming this row is not dirty 
(has been committed by some other transaction):
- if in READ COMMITTED, the row is good
- if in REPEATABLE READ, the row may be newer than the moment when the 
transaction started, then the transaction has to throw away this too-new 
row and read the previous version of the row; and so on until it has 
reached the proper point in the past.
That could explain why REPEATABLE READ reads more rows.
But it's just a wild guess, I cannot be more helpful, don't know enough 
of InnoDB.

-- 
Mr. Guilhem Bichot <guilhem@stripped>
Sun Microsystems / MySQL, Lead Software Engineer
Bordeaux, France
www.sun.com / www.mysql.com
Thread
why REPEATABLE-READ read more innodb rows than READ-COMMITTED during DBT2 run?Xuekun Hu14 Jul
  • Re: why REPEATABLE-READ read more innodb rows than READ-COMMITTED during DBT2 run?Xuekun Hu15 Jul
  • Re: why REPEATABLE-READ read more innodb rows than READ-COMMITTEDduring DBT2 run?Guilhem Bichot29 Jul
    • Re: why REPEATABLE-READ read more innodb rows than READ-COMMITTED during DBT2 run?Xuekun Hu30 Jul