I you have a simple table and you want to alter a column without renaming it, you have (at least) 2 options CHANGE and MODIFY.
For example, if I have a column id
that's a SMALLINT
and I want to make it a INT
I can run:
ALTER TABLE foo MODIFY id INT(11);
or:
ALTER TABLE foo CHANGE id id INT(11);
Is there any performance benefit of one vs. the other? I know which is semantically better, but that might not be reason enough for example to refactor a large set of migration scripts if there is no end performance gain.