Question: For example, I issued an ALTER TABLE statement to create an index on a MEDIUMTEXT field in an InnoDB table that has 134k rows where the size of the index was 255 bytes and the average size of the data in the field is 30k. This command has been running for the last 15 minutes or so (and is the only thing running on the database). Is there any way for me to determine if it is going to finish in closer to 5 minutes, 5 hours, or 5 days?

Answer: 
I was able to perform these 2 queries and figure out how many rows remain to be moved.

```
select count(*) from `myoriginalrable`;
select count(*) from `#sql-1e8_11ae5`;

```

this was WAY more helpful than comparing the file size on disk, because changing from myisam to innodb etc changes the row size.
pt-online-schema-change by Percona shows remaining time estimate. By default it prints out the remaining time estimate and progress percentage every 30 seconds.

It also has additional functions compared to just running the ALTER command by itself.

<http://www.percona.com/doc/percona-toolkit/2.1/pt-online-schema-change.html>