如果,我想看下Mysql执行“ALTER TABLE `test`.`table_add_column` ADD COLUMN `child_num` int NULL DEFAULT 0  AFTER `male` ;”时, 都会有哪些操作, 怎么看? 这个问题问得有些不知深浅, 表笑我啊。 

解决方案 »

  1.   

    set profiling=1;
    alter table ...
    select * from information_schema.PROFILING;
      

  2.   

    ALTER语句没有。
    如果有兴趣,你可以直接看MYSQL的源代码。
      

  3.   

    ALTER TABLE用于更改原有表的结构。例如,您可以增加或删减列,创建或取消索引,更改原有列的类型,或重新命名列或表。您还可以更改表的评注和表的类型。ALTER TABLE运行时会对原表进行临时复制,在副本上进行更改,然后删除原表,再对新表进行重命名。在执行ALTER TABLE时,其它用户可以阅读原表,但是对表的更新和修改的操作将被延迟,直到新表生成为止。新表生成后,这些更新和修改信息会自动转移到新表上。