Consider time it takes to rewrite the table, downtime you can afford and the disk space you have. My goal is to write bit more about the cases that go beyond the usual "works on my 100MB" scenario.
You can do whatever you want if your hardware is fast enough or your data is small enough.
And in most cases (not necessarily 24/7 high volume webapps) just taking a few minutes of scheduled downtime is fine.