MySQL 常用DDL執行方式總結
操作 支援方式 Allow R/W 說明
add/create index online 允許讀寫 當表上有FULLTEXT索引除外,需要鎖表,阻塞寫
add fulltext index in-place(5.6以上版本) 僅支援讀,阻塞寫 建立表上第一個fulltext index用copy table方式,除非表上有FTS_DOC_ID列。之後建立fulltext index用in-place方式,經過測試驗證,第一次時5.6 innodb會隱含自動新增FTS_DOC_ID列,也就是5.6 都是in-place方式
drop index online 允許讀寫 操作後設資料,不涉及表資料。所以很快,可以放心操作
optimize table online 允許讀寫 當帶有fulltext index的表用copy table方式並且阻塞寫
alter table...engine=innodb online 允許讀寫 當帶有fulltext index的表用copy table方式並且阻塞寫
add column online 允許讀寫(增加自增列除外) 1、新增auto_increment列要鎖表,阻塞寫;2、雖採用online方式,但是表資料需要重新組織,所以增加列依然是昂貴的操作
drop column online 允許讀寫(增加自增列除外) 同add column,重新組織表資料,,昂貴的操作
Rename a column online 允許讀寫 操作後設資料;不能改列的型別,否則就鎖表
Reorder columns online 允許讀寫 重新組織表資料,昂貴的操作
Make column NOT NULL online 允許讀寫 重新組織表資料,昂貴的操作
Change data type of column copy table 僅支援讀,阻塞寫 建立臨時表,複製表資料,昂貴的操作
Set default value for a column online 允許讀寫 操作後設資料,因為default value儲存在frm檔案中,不涉及表資料。所以很快,可以放心操作
alter table xxx auto_increment=xx online 允許讀寫 操作後設資料,不涉及表資料。所以很快,可以放心操作
Add primary key online 允許讀寫 昂貴的操作
Convert character set copy table 僅支援讀,阻塞寫 如果新字符集不同,需要重建表,昂貴的操作
add/create index online 允許讀寫 當表上有FULLTEXT索引除外,需要鎖表,阻塞寫
add fulltext index in-place(5.6以上版本) 僅支援讀,阻塞寫 建立表上第一個fulltext index用copy table方式,除非表上有FTS_DOC_ID列。之後建立fulltext index用in-place方式,經過測試驗證,第一次時5.6 innodb會隱含自動新增FTS_DOC_ID列,也就是5.6 都是in-place方式
drop index online 允許讀寫 操作後設資料,不涉及表資料。所以很快,可以放心操作
optimize table online 允許讀寫 當帶有fulltext index的表用copy table方式並且阻塞寫
alter table...engine=innodb online 允許讀寫 當帶有fulltext index的表用copy table方式並且阻塞寫
add column online 允許讀寫(增加自增列除外) 1、新增auto_increment列要鎖表,阻塞寫;2、雖採用online方式,但是表資料需要重新組織,所以增加列依然是昂貴的操作
drop column online 允許讀寫(增加自增列除外) 同add column,重新組織表資料,,昂貴的操作
Rename a column online 允許讀寫 操作後設資料;不能改列的型別,否則就鎖表
Reorder columns online 允許讀寫 重新組織表資料,昂貴的操作
Make column NOT NULL online 允許讀寫 重新組織表資料,昂貴的操作
Change data type of column copy table 僅支援讀,阻塞寫 建立臨時表,複製表資料,昂貴的操作
Set default value for a column online 允許讀寫 操作後設資料,因為default value儲存在frm檔案中,不涉及表資料。所以很快,可以放心操作
alter table xxx auto_increment=xx online 允許讀寫 操作後設資料,不涉及表資料。所以很快,可以放心操作
Add primary key online 允許讀寫 昂貴的操作
Convert character set copy table 僅支援讀,阻塞寫 如果新字符集不同,需要重建表,昂貴的操作
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2138706/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL DDL執行方式-Online DDL介紹MySql
- MYSQL執行緒池總結(一)MySql執行緒
- MySQL執行緒池總結(二)MySql執行緒
- Django執行方式及處理流程總結Django
- Java獲取多執行緒執行結果方式的歸納與總結Java執行緒
- httprunner(9)執行測試用例的方式總結HTTP
- MySQL 執行DDL語句 hang住了怎麼辦?MySql
- MySql常用命令總結MySql
- mysql 常用知識點總結MySql
- MySQL5.6 Online DDL線上狀態總結MySql
- 執行及總結
- MySQL查詢結果匯出方式總結MySql
- mysql之常用函式(核心總結)MySql函式
- MySql常用命令總結[轉]MySql
- Oracle DDL 執行過程Oracle
- MySQL 執行 Online DDL 操作報錯空間不足?MySql
- Java執行緒池總結和常用開源庫的使用Java執行緒
- Java執行緒總結Java執行緒
- 框架執行流程總結框架
- 【java】【多執行緒】建立執行緒的兩種常用方式(2)Java執行緒
- MySQL 常用易混淆知識點總結MySql
- 【多執行緒總結(一)-基礎總結】執行緒
- js執行環境總結JS
- iOS 多執行緒總結iOS執行緒
- 執行ps_5總結
- 執行ps2總結
- java多執行緒總結Java執行緒
- 執行緒併發總結執行緒
- 專案執行及總結
- MySQL執行狀況查詢方式介紹MySql
- 禁止DDL執行的trigger
- 【多執行緒總結(二)-執行緒安全與執行緒同步】執行緒
- 多執行緒並行執行,然後彙總結果執行緒並行
- 【多執行緒總結(四)-三大性質總結】執行緒
- 【DDL】DDL執行過程及其隱式COMMIT行為的探查與演示MIT
- 配置ogg ddl 執行 ddl_setup 報錯處理方法
- DDL觸發器設定導致DDL無法執行(二)觸發器
- DDL觸發器設定導致DDL無法執行(一)觸發器