共計 1666 個字符,預計需要花費 5 分鐘才能閱讀完成。
這篇文章將為大家詳細講解有關 MySQL 中常用 DDL 執(zhí)行方式有哪些,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
操作 支持方式 Allow R/W 說明
add/create index online 允許讀寫 當表上有 FULLTEXT 索引除外,需要鎖表,阻塞寫
add fulltext index in-place(5.6 以上版本) 僅支持讀,阻塞寫 創(chuàng)建表上第一個 fulltext index 用 copy table 方式,除非表上有 FTS_DOC_ID 列。之后創(chuàng)建 fulltext index 用 in-place 方式,經過測試驗證,第一次時 5.6 innodb 會隱含自動添加 FTS_DOC_ID 列,也就是 5.6 都是 in-place 方式
drop index online 允許讀寫 操作元數(shù)據(jù),不涉及表數(shù)據(jù)。所以很快,可以放心操作
optimize table online 允許讀寫 當帶有 fulltext index 的表用 copy table 方式并且阻塞寫
alter table…engine=innodb online 允許讀寫 當帶有 fulltext index 的表用 copy table 方式并且阻塞寫
add column online 允許讀寫 (增加自增列除外) 1、添加 auto_increment 列要鎖表,阻塞寫;2、雖采用 online 方式,但是表數(shù)據(jù)需要重新組織,所以增加列依然是昂貴的操作
drop column online 允許讀寫 (增加自增列除外) 同 add column,重新組織表數(shù)據(jù),,昂貴的操作
Rename a column online 允許讀寫 操作元數(shù)據(jù); 不能改列的類型,否則就鎖表
Reorder columns online 允許讀寫 重新組織表數(shù)據(jù),昂貴的操作
Make column NOT NULL online 允許讀寫 重新組織表數(shù)據(jù),昂貴的操作
Change data type of column copy table 僅支持讀,阻塞寫 創(chuàng)建臨時表,復制表數(shù)據(jù),昂貴的操作
Set default value for a column online 允許讀寫 操作元數(shù)據(jù),因為 default value 存儲在 frm 文件中,不涉及表數(shù)據(jù)。所以很快,可以放心操作
alter table xxx auto_increment=xx online 允許讀寫 操作元數(shù)據(jù),不涉及表數(shù)據(jù)。所以很快,可以放心操作
Add primary key online 允許讀寫 昂貴的操作
Convert character set copy table 僅支持讀,阻塞寫 如果新字符集不同,需要重建表,昂貴的操作
關于“MySQL 中常用 DDL 執(zhí)行方式有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。