亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MariaDB10.3 增補AliSQL補丁---安全執行Online DDL

發布時間:2020-07-31 11:03:45 來源:網絡 閱讀:1628 作者:hcymysql 欄目:MySQL數據庫

Online DDL從名字上看很容易誤導新手,以為不論什么情況,修改表結構都不會鎖表,理想很豐滿,現實很骨感,注意這個坑!


有以下兩種情況執行DDL操作會鎖表的,Waiting for table metadata lock(元數據表鎖)

1、增加、刪除字段或索引不會鎖全表,刪除主鍵、更改字段屬性會鎖全表,見下圖所示:MariaDB10.3 增補AliSQL補丁---安全執行Online DDL


2、在添加字段alter table表時,對該表的增、刪、改、查均不會鎖表。而在這之前,該表有被訪問時,需要等其執行完畢后,才可以執行alter table例如在會話一,故意執行一條大結果的查詢,然后在會話二執行增加字段age,此時還會出現表鎖,如下圖所示:

MariaDB10.3 增補AliSQL補丁---安全執行Online DDL


針對第二種情況,MariaDB10.3 增補AliSQL補丁-DDL FAST FAIL,讓其DDL操作快速失敗。

語法為:

ALTER TABLE tbl_name [WAIT n|NOWAIT] ...
CREATE ... INDEX ON tbl_name (index_col_name, ...) [WAIT n|NOWAIT] ...
DROP INDEX ... [WAIT n|NOWAIT]
DROP TABLE tbl_name [WAIT n|NOWAIT] ...
LOCK TABLE ... [WAIT n|NOWAIT]
OPTIMIZE TABLE tbl_name [WAIT n|NOWAIT]
RENAME TABLE tbl_name [WAIT n|NOWAIT] ...
SELECT ... FOR UPDATE [WAIT n|NOWAIT]
SELECT ... LOCK IN SHARE MODE [WAIT n|NOWAIT]
TRUNCATE TABLE tbl_name [WAIT n|NOWAIT]


例:

MariaDB10.3 增補AliSQL補丁---安全執行Online DDL

如果線上有某個慢SQL對該表進行操作,可以使用WAIT n(以秒為單位設置等待)或NOWAIT在語句中顯式設置鎖等待超時,在這種情況下,如果無法獲取鎖,語句將立即失敗。 WAIT 0相當于NOWAIT。


參考:https://jira.mariadb.org/browse/MDEV-11388





向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永修县| 南投县| 嘉兴市| 成安县| 临汾市| 英德市| 高雄市| 平塘县| 临澧县| 玛纳斯县| 呼玛县| 彭州市| 通辽市| 缙云县| 漯河市| 饶阳县| 东乡族自治县| 应用必备| 浏阳市| 海兴县| 泰宁县| 鹤壁市| 澄江县| 邵阳市| 钟祥市| 饶平县| 天等县| 乾安县| 四川省| 淮北市| 黑水县| 青浦区| 长泰县| 怀宁县| 鲁山县| 突泉县| 右玉县| 绥中县| 宁化县| 莲花县| 白山市|