作为程序员一定要保持良好的睡眠,才能好编程

mysql ALTER COLUMN MODIFY COLUMN CHANGE COLUMN 区别及用法

发布时间:2018-09-18

-- 设置或删除列的默认值。该操作会直接修改.frm文件而不涉及表数据。此操作很快
-- ALTER COLUMN
ALTER TABLE  dsp_ad_center.XianDuan ALTER COLUMN xxx SET DEFAULT 100;
--  共 0 行受到影响
-- 
-- 执行耗时   : 0.011 sec
-- 传送时间   : 1.037 sec
-- 总耗时      : 1.048 sec
-- ---------------------------------------------------
-- MODIFY COLUMN
-- 会引起表的重建,非常慢 -- 会引起表的重建,非常慢-- 会引起表的重建,非常慢
ALTER TABLE  dsp_ad_center.XianDuan MODIFY COLUMN xxx  INT NOT NULL DEFAULT 101;
--  共 2000000 行受到影响
-- 
-- 执行耗时   : 13.066 sec
-- 传送时间   : 0.001 sec
-- 总耗时      : 13.067 sec
-- ---------------------------------------------------
-- CHANGE COLUMN  -- 列的重命名、列类型的变更以及列位置的移动  -- 应该也会引起表的重建,非常慢
-- 语法: -- CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name]
ALTER TABLE  dsp_ad_center.XianDuan CHANGE COLUMN xxx xxx INT FIRST
--  共 2000000 行受到影响
-- 
-- 执行耗时   : 12.037 sec
-- 传送时间   : 1.074 sec
-- 总耗时      : 13.012 sec
-- ---------------------------------------------------