If you must avoid blocking long-running ALTERs on very large tables in MySQL, consider:
Here is why prioritizing the "new" is essential for the modern DBA.
Consider a covering index for SELECT list: