Cuando se utiliza el comando:¿Por qué MySQL usa una tabla temporal para soltar una clave principal?
ALTER TABLE my_table DROP PRIMARY KEY;
El estado (cuando SHOW PROCESSLIST) aparece como:
copy to tmp table
¿Por qué sería necesario utilizar una tabla tmp a "soltar" una restricción de clave primaria?
"detalles de la implementación" ;-) Sospecho que los cambios en la agrupación de datos subyacentes, p. Ej. se mueve a un "montón" o de lo contrario se vuelven a agrupar en ese motor en particular? (InnoDB? MyISAM?) Dado que se trata de una operación DDL, y no una común, la "forma más simple" suele ser la "mejor manera", especialmente si puede reutilizar rutas de código bien probadas/verificadas. –