p.p1
p.p2
p.p3 將1個表的引擎修改為另乙個引擎最簡單的方法是使用alter table語句。
下面的語句將mytable的引擎修改為innodb
mysql>alter table mytable engine = innodb;
上述語法適用於任何乙個引擎,但是有以下的缺點:
a.執行時間上,將資料從原表複製乙份到新錶中,消耗系統的i/o能力
b.原表會加上讀鎖,繁忙表上要特別注意
c.將失去和原引擎相關的所有特性,如原表的外來鍵
可以使用mysqldump工具將資料匯出到檔案,然後修改檔案中的create table 語句的儲存引擎選擇,注意要修改表名,即使使用不同的引擎。
注意:mysql匯出的sql語句缺省會帶有drop table,不注意這一點會造成資料的丟失
結合第一種方法的高效和第二種方法的安全。不需要匯出整個表的資料,只需要先建立乙個新的儲存引擎的表,然後利用insert....select語法來導資料
mysql >create table innodb_table like myisam_table;mysql >alter table innodb_table engine=innodb;
mysql >insert into innodb_table select * from myisam_table;
如果資料量很大,可以考慮分批處理
mysql>stsrt transactionmysql> insert into innodb_table select * from myisam_table where
id between x and y;
mysql> commit;
新錶是原表的全量複製。如果有必要,可以在執行過程中對原表加鎖,保證新錶和原表資料一致。
mysql切換到表 mysql表切換引擎的幾種方法
alter table mysql alter table mytable engine falcon 這種語法適合所有引擎,但是轉換過程會耗費大量時間。mysql為此要執行乙個舊表到新錶的逐行複製。在這期間,轉換操作可能會占用伺服器的所有i o處理能力,並且在轉換時,源表要被讀加鎖。因此,在乙個繁...
MYSQL切換表引擎
1 檢視表狀態 show table status like corr alert engine 引擎型別 舊版為type row format 行的格式。可選值dynamic fixed或compressed dynamic行長度可變,一般包含可變長度字段,varchar或bolb fixed 長...
mysql表切換引擎的幾種方法
alter table mysql alter table mytable engine falcon 這種語法適合所有引擎,但是轉換過程會耗費大量時間。mysql為此要執行乙個舊表到新錶的逐行複製。在這期間,轉換操作可能會占用伺服器的所有i o處理能力,並且在轉換時,源表要被讀加鎖。因此,在乙個繁...