1、檢視表狀態
show table status like 'corr_alert';
engine:引擎型別(舊版為type);
row_format:行的格式。可選值dynamic、fixed或compressed;
dynamic行長度可變,一般包含可變長度字段,varchar或bolb
fixed:長度固定
compressed:只在壓縮表中存在
collation:預設字符集和字元列排序規則;
checksum:如果啟用,儲存的整個表的實時校驗和;
comment:注釋或表空間剩餘資訊;檢視則為view文字字樣;
2、修改表引擎
目前有三種方式進行切換:
1)alter table語句:
alter table corr_alert_copy engine=innodb;
優點:高效,按行複製表記錄到新錶中
缺點:可能消耗系統所有i/o,原表加鎖
2)手工匯入與匯出
使用mysql自帶工具mysqldump匯出到檔案,修改檔案中的create table引擎語句,同時修改表名,且預設在create table前加上drop table語句
3)建立與查詢
create table corr_alert_copy like corr_alert;
alter table corr_alert_copy engine=innodb;
insert into corr_alert_copy select * from corr_alert;
資料量不大,工作很好;資料量大,分批處理,每一段資料乙個事務,避免大事務產生的undo操作;
start transaction
insert into corr_alert_copy select * from corr_alert where id between x and y;
commit;
優點:原表還在,可在執行過程中對原表加鎖,確保資料一致,操作簡單;
mysql切換到表 mysql表切換引擎的幾種方法
alter table mysql alter table mytable engine falcon 這種語法適合所有引擎,但是轉換過程會耗費大量時間。mysql為此要執行乙個舊表到新錶的逐行複製。在這期間,轉換操作可能會占用伺服器的所有i o處理能力,並且在轉換時,源表要被讀加鎖。因此,在乙個繁...
Mysql表引擎的切換
p.p1 p.p2 p.p3 將1個表的引擎修改為另乙個引擎最簡單的方法是使用alter table語句。下面的語句將mytable的引擎修改為innodb mysql alter table mytable engine innodb 上述語法適用於任何乙個引擎,但是有以下的缺點 a.執行時間上,...
mysql表切換引擎的幾種方法
alter table mysql alter table mytable engine falcon 這種語法適合所有引擎,但是轉換過程會耗費大量時間。mysql為此要執行乙個舊表到新錶的逐行複製。在這期間,轉換操作可能會占用伺服器的所有i o處理能力,並且在轉換時,源表要被讀加鎖。因此,在乙個繁...