MySQL online ddl 你了解多少?

2021-10-10 10:39:03 字數 615 閱讀 9730

algorithm

mysql online ddl的語法舉例,比如我們想新增乙個主鍵:

alter table tbl_name add primary key (column), algorithm=inplace, lock=none;
其中algorithm有三種演算法,分別是copy,inplace,instant。

注意:

在執行ddl操作時,一般不需要我們指定algorithm,mysql內部會自行判斷應該採用哪種方式進行變更。

對於涉及rebuild表的操作,需要關注下原表所在磁碟的使用情況。

對於24小時業務表,如果你不確定該操作會不會影響線上業務,建議使用pt-osc工具執行變更。

ddl操作場景分類

前面講了online ddl的各種演算法,由於並不是所有的操作是online的,需要我們加以區分,針對不同的操作mysql內部會採用哪種模式進行變更,我進行了分類總結,希望能幫助到你! 

mysql online ddl遇到的問題記錄

於是我們開始討論了ddl的時候是否會鎖表,block住dml。經過一番搜尋,得到了一下結論。mysql從5.6版本開始執行了online ddl,然後在大部分修改column情況下是支援併發的。核心是支援了alter時候指定演算法,支援inplace和copy.首先判斷版本,使用show varia...

歡樂樹下你你你

college id test date school year test level score listening import pandas as pd from pyecharts import bar,page,pie df pd.read csv home ue09 0309 cet46...

你以為你是誰?

乙隻駱駝,辛辛苦苦穿過了沙漠,乙隻蒼蠅趴在駱駝背上,一點力氣也不用,也過來了。蒼蠅譏笑說 駱駝,謝謝你辛苦把我駝過來。再見!駱駝看了一眼蒼蠅說 你在我身上的時候,我根本就不知道,你走了,你也沒必要跟我打招呼,你根本就沒有什麼重量,你別把自己看太重,你以為你是誰?英國文學家蕭伯納一日閒著無事,同乙個不...