lundi 26 janvier 2015

Can I extrapolate from the progress reporting in MyISAM ALTER?


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.


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.





Aucun commentaire:

Enregistrer un commentaire