mysql ALTER COLUMN MODIFY COLUMN CHANGE COLUMN 区别及用法 (转)

    1. -- 设置或删除列的默认值。该操作会直接修改.frm文件而不涉及表数据。此操作很快
    2. -- ALTER COLUMN
    3. ALTER TABLE  dsp_ad_center.XianDuan ALTER COLUMN xxx SET DEFAULT 100;
    4. --  共 0 行受到影响
    5. --
    6. -- 执行耗时   : 0.011 sec
    7. -- 传送时间   : 1.037 sec
    8. -- 总耗时      : 1.048 sec
    9. -- ---------------------------------------------------
    10. -- MODIFY COLUMN
    11. -- 会引起表的重建,非常慢 -- 会引起表的重建,非常慢-- 会引起表的重建,非常慢
    12. ALTER TABLE  dsp_ad_center.XianDuan MODIFY COLUMN xxx  INT NOT NULL DEFAULT 101;
    13. --  共 2000000 行受到影响
    14. --
    15. -- 执行耗时   : 13.066 sec
    16. -- 传送时间   : 0.001 sec
    17. -- 总耗时      : 13.067 sec
    18. -- ---------------------------------------------------
    19. -- CHANGE COLUMN  -- 列的重命名、列类型的变更以及列位置的移动  -- 应该也会引起表的重建,非常慢
    20. -- 语法: -- CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name]
    21. ALTER TABLE  dsp_ad_center.XianDuan CHANGE COLUMN xxx xxx INT FIRST
    22. --  共 2000000 行受到影响
    23. --
    24. -- 执行耗时   : 12.037 sec
    25. -- 传送时间   : 1.074 sec
    26. -- 总耗时      : 13.012 sec
    27. -- ---------------------------------------------------
上一篇:Modify column Vs change column


下一篇:MySQL:ALTER COLUMN、MODIFY COLUMN 和 CHANGE COLUMN