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
DBT2-10WH, Normalized to one NOTPM
From my understanding, "innodb_rows_read" is counting the number of
rows read from InnoDB tables. Here the "row" should refer to the
physical one, instead of snapshot one. That means if two concurrent
transactions were updating a same row, two record versions were
created. However when another consistent read read this row, the
counter "innodb_rows_read" will be added by 1, not 2 or 3.
So why REPEATABLE-READ read more innodb rows than READ-COMMITTED? Your
comments are appreciated.