高性能MYsql读书笔记-加快alter table操作的速度

本文介绍了MyISAM表的一些优化方法,包括使用ALTER COLUMN代替MODIFY COLUMN避免事务中断、直接修改.frm文件来设置默认值,以及快速创建索引的方法。同时也提到了一些注意事项,如REPAIR TABLE会重建索引,LOAD DATA INFILE用于空表时可通过排序构建索引等。

alte tabe 会导致事务中断。


方法1  使用 alter column 代替 modify column 

方法2  不推荐。。


ALTER TABLE      [  ALTER COLUMN    / MODIFY COLUMN  /  CHANGE COLUMN  ]

ALTER TABLE sakila.film MODIFY COLUMN rental_duration TINYINT(3) NOT NULL DEFAULT 5;

SHOW STATUS;    做了1000次读100次插入,拷贝了整个表到一个新表

ALTER TABLE sakifa.film  ALTER COLUMN rental_duration SET DEFAULT 5;  

直接修改.frm 文件而不涉及表数据。


快速创建MYISAM索引

  ALTER TABLE test.load_data DISABLE KEYS;

----load data

ALTER TABLE test.load_data ENABLE KEYS;

这种方式对唯一索引是无效的,并且为载入的每一行检查唯一性,一旦索引超过了有效内存的大小,速度就会变慢。



more :


REPAIR TABLE  会重新创建索引,包括唯一索引

LOAD DATA FILE 并且使用的表示空表,MYSIAM 也可以通过排序来构造索引

注意可变长字符串,其在临时表和排序时可能导致悲观的按照最大长度来分配内存。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值