Heikki,
>
> the output shows that there are no dangling transactions, and purge is
> not lagging behind.
Yes, that's what I thought... weird, huh :/
>
> If you update a secondary index column, that requires purge to clean up
> the index.
The tables have structure similar to the following:
create table table1 (
key1 tinyint unsigned not null default 0,
key2 int unsigned not null default 0,
data1 int not null default 0,
dataN int not null default 0,
primary key(key1,key2)
) engine=innodb;
updates are performed like this:
insert into table table1 (key1,key2,data1,dataN)
values (...),...,(...)
on duplicate key update data1=values(data1),dataN=values(dataN)
so primary keys don't get updated...
>
> Please shut down mysqld, remove
>
> innodb_file_per_table
> from my.cnf, and restart mysqld. Then do
> CREATE TABLE test.t(a INT) TYPE=InnoDB;
> Then do
> SHOW TABLE STATUS FROM test;
>
> What does it print as the InnoDB free space for the table test.t? That
> is the free space in the system tablespace.
Unfortunately I won't be able to shut down the server until this weekend. Will let you
know the results.
Thanks for the advice.
Good luck,
Ivan