导航

第一章MySQL架构与历史

Posted on 2017-04-18 08:06  辉天子煜  阅读(135)  评论(0)    收藏  举报

1.select count(*) from table;
对于MyISAM确实会很快,但其他的可能都不行。

2.转换表的引擎
alter table mytable engine=InnoDB;

需要执行很长时间,如果转换表的存储引擎,将失去和原引擎相关的所有特性,例如:InnoDB→MyISAM→InnoDB,这样原InnoDB表上的所有外键将丢失。

3.导出与导入方式
4.创建与查询方式,这种方式结合了上面的所有优点
create table innodb_table like myisam_table;
alter table innodb_table ENGINE=InnoDB;
insert into innodb_table select * from myisam_table;
数据量大的话,用分批的方式
START TRANSACTION;
INSERT INTO innodb_table select * from myisam_table where id BETWEEN X AND Y;
commit;
注意:可以使用在线工具(pt-online-schema-change)
https://www.percona.com/doc/percona-toolkit/2.1/pt-online-schema-change.html