mysql大表修改表名原理 mysql大表修改結構

2021-10-18 10:18:34 字數 892 閱讀 4580

alter table執行時會對原表進行臨時複製,在副本上進行更改,然後刪除原表,再對新錶進行重新命名。在執行alter table時,其它使用者可以閱讀原表,但是對錶的更新和修改的操作將被延遲,直到新錶生成為止。新錶生成後,這些更新和修改資訊會自動轉移到新表上。

注意,如果您在執行alter table時使用除了rename以外的選項,則mysql會建立乙個臨時表。即使資料並不需要進行複製(例如當您更改列的名稱時),mysql也會這麼操作。對於myisam表,您可以通過把myisam_sort_buffer_size系統變數設定到乙個較高的值,來加快重新建立索引(該操作是變更過程中速度最慢的一部分)的速度。

實際問題,對乙個上億資料的表增加字段

實際操作:

create table ppy_myfishinstanceone_bak like ppy_myfishinstanceone;

alter table ppy_myfishinstanceone_bak add column `top_num` int(10) default 0;

insert into ppy_myfishinstanceone_bak(member_id,my_fish_tank_id,fish_id,hungry,life,exp,last_calculated,last_potion_used)

select member_id,my_fish_tank_id,fish_id,hungry,life,exp,last_calculated,last_potion_used

from ppy_myfishinstanceone;

drop table ppy_myfishinstanceone;

rename table ppy_myfishinstanceone_bak to ppy_myfishinstanceone;

MySQL命令rename 修改表名

rename命令用於修改表名。rename命令格式 rename table 原表名 to 新錶名 例如,在表myclass名字更改為youclass mysql rename table myclass to youclass 當你執行 rename 時,你不能有任何鎖定的表或活動的事務。你同樣也...

mysql 修改表 MySQL修改表

mysql修改表 說明 1.建立錶能做的事,修改表幾乎都能做,不推薦使用。2.修改表修改表的結構 3,大體來說,可以對欄位進行新增,刪除,修改 可以對索引進行新增,刪除 4.表的選項,通常都是修改,即使不寫任何乙個 新增乙個表的字段 alter table 表名 add column 新欄位名 字段...

Oracle 修改表名

oracle修改表名的方式有以下幾種 方式一 1.先通過create table new table name as select from old table name 建立乙個新的表。2.檢查old table name上的約束,並把該約束應用到new table name上。3.禁用old t...