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