In MySQL 4.1 and above the longest part of recovery after crash
for Innodb tables could be UNDO stage - it was happening in
foreground and was basically unbound - if you have large enough
transaction which needed to be undone this could take long
hours.
REDO stage on other hand always could be regulated by size of
your Innodb log files so you could have it as large as you like.
Read more about it here.
Since MySQL 5.0 the UNDO stage is running in background so it still can be the longest but would not keep server completely unusable (some limitations still apply though).
In the case I've been working on recently none of these parts was
the longest one.
The server had about 65000 tables using
innodb_file_per_table so "InnoDB: Reading
tablespace information from the .ibd …