Mysql不同儲存引擎的表轉換方法

2021-09-07 08:13:23 字數 1187 閱讀 3420

mysql不同儲存引擎的表轉換方法

1、alter table

直接修改表的儲存引擎,但是這樣會導致大量的系統開銷,mysql為此要執行乙個就表向新錶的逐行複製。在此期間,轉換操作可能會占用伺服器的所有i/o處理能力。轉換表之後,原先引擎的特殊性質都會丟失,無法復原。

2、轉儲和匯入方法

用提供的mysqldump工具,可以將原有的表轉換為乙個文字檔案,然後修改該檔案,將裡面的create table語句的引擎選項修改為需要更改後的引擎。

3、建立乙個新的表,並把舊表中的資料匯入新的表

createtableinnodb_tablelikemyisam_table ;

altertableinnodb_table engine=innodb;

insertintoinnodb_tableselect*frommyisam_table;

dropmyisam_table;

以上方法適合資料量不大的情況,如果資料量很大的話,可能會產生大量的 undo log 日誌,為了避免undo log過於龐大,可以逐段進行複製;

starttransaction;

insertintoinnodb_tableselect*frommyisam_tablewhereidbetweenxandy; #逐次增大x和y的值

commit;

MySQL表儲存引擎

常用的4種儲存引擎 myisam innodb memory和merge。myisam是mysql5.5版本之前的預設儲存引擎。myisam不支援事務 也不支援外來鍵,其優勢是訪問的速度快,對事務完整性沒有要求或者以select insert為主的應用基本上都可以使用這個引擎來建立表。資料儲存形式 ...

Mysql轉換表儲存引擎的三種方式

或許會有一些場景需要改變表的儲存引擎,例如儲存日誌的表如果幾乎只有insert和少量的select操作,為了追求更好的插入效能有可能會需要把儲存引擎更換為myisam。但是,本文不建議在同乙個資料庫中混合使用不同的儲存引擎。1.alter table 將表從乙個儲存引擎修改為另一種儲存引擎最簡單的方...

MySQL的儲存引擎(表型別)

筆記 mysql屬於資料庫管理系統,包括資料庫和用於訪問管理資料庫的介面系統。資料庫負責儲存資料,介面系統負責管理資料庫。不同使用者對資料的容量 訪問速度 資料安全性有不用需求。為了滿足使用者的不同需求,mysql採用多種儲存引擎進行資料儲存。儲存引擎指定了表的儲存型別 即如何儲存和索引資料 是否支...