mysql 修改表存儲引擎的三種方法

1.直接修改

alert table mytable engine = InnoDB;mysql

  • 優勢是簡單直接
  • 缺點是須要執行很長時間,mysql會按行將原數據複製到一張新表中,複製期間會消耗系統全部的IO能力,而且會在原表上加讀鎖

2.使用工具

使用工具將表保存到文件,打開文件修改表的存儲引擎以及表名sql

3.建立與查詢

  • 執行語句工具

    create table new_table like old_table;
        alter table new_table engine=InnoDB;
        insert into new_table select * from old_table
  • 若是數據量比較大,能夠根據主鍵分批操做,若是有必要能夠對原表加鎖,保證新表與原表數據一致性能

    start transaction;
        insert into new_table select * from old_table where id between x and y;
        commit;

    以上內容參考自《高性能mysql》code

相關文章
相關標籤/搜索