Mysql不同存储引擎的表转换方法
生活随笔
收集整理的這篇文章主要介紹了
Mysql不同存储引擎的表转换方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Mysql不同存儲引擎的表轉換方法
1、Alter table
直接修改表的存儲引擎,但是這樣會導致大量的系統開銷,Mysql為此要執行一個就表向新表的逐行復制。在此期間,轉換操作可能會占用服務器的所有I/O處理能力。轉換表之后,原先引擎的特殊性質都會丟失,無法復原。
2、轉儲和導入方法
用提供的mysqldump工具,可以將原有的表轉換為一個文本文件,然后修改該文件,將里面的create table語句的引擎選項修改為需要更改后的引擎。
3、創建一個新的表,并把舊表中的數據導入新的表
??以上方法適合數據量不大的情況,如果數據量很大的話,可能會產生大量的 undo log 日志,為了避免undo log過于龐大,可以逐段進行復制;
start transaction;insert into innodb_table select * from myisam_table where id between x and y; #逐次增大x和y的值commit;
參考書籍:《高性能mysql》
總結
以上是生活随笔為你收集整理的Mysql不同存储引擎的表转换方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Flask扩展系列(八)–用户会话管理
- 下一篇: SQLite移植手记1