I'm migrating a 300 million row MyISAM table to add some indexes.
Just because it might be relevant, here's my ALTER
statement:
ALTER TABLE my_table
ADD UNIQUE INDEX my_table_abcd (a, b, c, d),
ADD INDEX my_table_abc (a, b, c),
ADD INDEX my_table_c (c),
ADD INDEX my_table_ce (c, e),
ADD INDEX my_table_d (a);
It currently says
Stage: 1 of 2 'copy to tmp table' 74.8% of stage done
and the processlist says that the progress of the ALTER
statement is 37.440
.
I don't remember the exact timings, but the 'Stage 1' value jumped up to 60% in the first hour or so, and has been I crawling up to 70% in the last 12 hours. In the lat 3 hours it has increased 1.5%.
I have a decision to make about whether I abort this and try changing some configuration settings or let it run. It's not linear based on previous observations. If it's slowing down exponentially then it's a waste to let it continue when I could be trying another approach.
Any ideas for bases on which to make a decision?
NB this question is relevant but not a duplicate. I'm not asking about predicting the time, I'm asking about whether the progress report has a linear relationship with time.