MySQL5.6OnlineDDL在線狀態(tài)是怎么樣的

這篇文章將為大家詳細講解有關MySQL5.6 Online DDL在線狀態(tài)是怎么樣的,文章內(nèi)容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

創(chuàng)新互聯(lián)是工信部頒發(fā)資質IDC服務器商,為用戶提供優(yōu)質的成都二樞服務器租用托管服務

Yes*和No*表明結果依賴于其他一些附加條件:

執(zhí)行操作 允許ALGORITHM=INPLACE    

是否拷貝表   

允許并發(fā)DML     

允許并發(fā)查詢

備注和注意事項

create index

add index

Yes*

No*

Yes

Yes

對于全文索引,有一些限制,具體看下一行。目前,該操作不是在原地執(zhí)行,需要拷貝表.

add fulltext index

Yes

No*

No

Yes

創(chuàng)建第一個全文索引涉及到拷貝表,除非有使用FTS_DOC_ID列。后面的全文索引則在原地執(zhí)行。

drop index 

Yes

No

Yes

Yes

 

optimize table

Yes

Yes

Yes

Yes

在MySQL5.6.17里使用 ALGORITHM=INPLACE.

如果設置old_alter_table=1或使用mysqld –skip-new選項,則使用 ALGORITHM=COPY.

如果表使用了全文索引,則 ALGORITHM=INPLACE不適用

set default value for  column

Yes

No

Yes

Yes

修改.frm文件,不涉及數(shù)據(jù)文件

change auto-increment value

Yes

No

Yes

Yes

修改存儲到內(nèi)存的一個值,不修改數(shù)據(jù)文件

add  foreign key constraint

Yes*

No*

Yes

Yes

禁用foreign_key_checks,則可以避免拷貝表

drop  forgien key constraing

Yes

No

Yes

Yes

foreign_key_checks可以禁用或開啟

rename  column

Yes*

No*

Yes*

Yes

允許并發(fā)DML,保持相同的數(shù)據(jù)類型,僅改變字段名

add  column

Yes

Yes

Yes*

Yes

增加auto-increment字段時不允許DML操作. 

雖然ALGORITHM=INPLACE可以允許, 

但是數(shù)據(jù)要重組,代價比較昂貴.

drop column

Yes

Yes

Yes

Yes

雖然ALGORITHM=INPLACE可以允許,

但是數(shù)據(jù)要重組,代價比較昂貴.

reorder columns

Yes

Yes

Yes

Yes

雖然ALGORITHM=INPLACE可以允許,

但是數(shù)據(jù)要重組,代價比較昂貴.

change ROW_FORMAT

property

Yes

Yes

Yes

Yes

雖然ALGORITHM=INPLACE可以允許,

但是數(shù)據(jù)要重組,代價比較昂貴.

change KEY_BLOCK_SIZE 

property

Yes

Yes

Yes

Yes

雖然ALGORITHM=INPLACE可以允許,

但是數(shù)據(jù)要重組,代價比較昂貴.

make column null 

Yes

Yes

Yes

Yes

雖然ALGORITHM=INPLACE可以允許,

但是數(shù)據(jù)要重組,代價比較昂貴.

make cplumn not null 

Yes*

Yes

Yes

Yes

當SQL_MODE為strict_all_tables,如果執(zhí)行的列包含null,則會執(zhí)行失敗。

 

雖然ALGORITHM=INPLACE可以允許,

但是數(shù)據(jù)要重組,代價比較昂貴.

change data type 

of column

No

Yes

Yes

Yes

 

add primary key

Yes*

Yes

Yes

Yes

雖然ALGORITHM=INPLACE可以允許,

但是數(shù)據(jù)要重組,代價比較昂貴.

如果列必須轉換為非空的條件下,

ALGORITHM=INPLACE是不允許的。

drop primary key 

and add other

Yes

Yes

Yes

Yes

當在同一個alter table新增主鍵時ALGORITHM=INPLACE是允許的.數(shù)據(jù)要重組,因此代價比較昂貴.

 

drop primary key

No

Yes

No

Yes

刪除主鍵但是又不新增主鍵是被限制的

convert character set

No

Yes

No

Yes

如果新的字符編碼不同將會重建表

specify character set

No

Yes

No

Yes

如果新的字符編碼不同將會重建表

rebulid with 

force option

Yes

Yes

Yes

Yes

在MySQL5.6.17里使用 ALGORITHM=INPLACE.

如果設置old_alter_table=1或使用mysqld –skip-new選項,則使用 ALGORITHM=COPY.

如果表使用了全文索引,則 ALGORITHM=INPLACE不適用

rebulid with 

“null”

 

alter table …

engine=innodb

Yes

Yes

Yes

Yes

在MySQL5.6.17里使用 ALGORITHM=INPLACE.

如果設置old_alter_table=1或使用mysqld –skip-new選項,則使用 ALGORITHM=COPY.

如果表使用了全文索引,則 ALGORITHM=INPLACE不適用

關于MySQL5.6 Online DDL在線狀態(tài)是怎么樣的就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

本文題目:MySQL5.6OnlineDDL在線狀態(tài)是怎么樣的
文章地址:http://bm7419.com/article32/geidsc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、Google虛擬主機、搜索引擎優(yōu)化、營銷型網(wǎng)站建設、移動網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)