當業務累積了大量資料時,需要對線上資料與歷史資料進行分隔管理,或定期清除表中資料。DMS的無鎖資料變更功能將結合表中的主鍵或非空唯一鍵,分批對錶中的目標資料進行操作,在保證執行效率的同時,儘可能地減小了對資料庫效能、空間的影響。
注意事項
無鎖資料變更僅支援單表、簡單的SQL操作(例如SELECT、UPDATE、DELETE等),不支援多表操作(例如DELETE語句中包含JOIN)。
操作步驟
本樣本通過無鎖資料變更功能將big_table
表中的long_text_b
欄位的資料批量改為random long text
。
普通使用者提交工單。
以普通使用者帳號登入Data Management 5.0。
在頁面頂部,選擇
。說明若您使用的是極簡模式的控制台,請單擊控制台左上方的表徵圖,選擇
。配置相關資訊,並單擊提交申請。
其中部分參數的說明如下。
參數名
是否必填
說明
資料庫
是
選擇
poc_dev
庫。執行方式
是
選擇工單的執行方式:
審批通過後,提交者執行。
審批通過後,自動執行。
最後一個審批人執行。
說明管理員可以在組態管理。
中,修改執行方式列表。具體操作,請參見變更SQL
是
輸入如下
UPDATE
語句。將big_table
表中的long_text_b
欄位的資料批量改為random long text
。UPDATE `big_table` SET `long_text_b` = 'random long text' WHERE id < 1000000;
SQL文本
否
若變更SQL選擇了文本,才會出現該配置項。在SQL文字框中,輸入可直接執行的SQL語句。
說明多條SQL之間, 請用英文分號(;)隔開。
提交工單時會自動校正SQL文法正確性,不正確則無法提交。
附件
否
若變更SQL選擇了附件,才會出現該配置項。上傳變更SQL附件。
說明附件僅支援.txt、.zip和.sql的檔案類型,最大不能超過15 MB。
復原SQL
否
可直接執行的SQL語句,變更指令碼對應的逆向指令碼。
SQL文本
否
復原SQL選擇了文本,才會出現該配置項。輸入復原SQL,復原SQL為變更SQL對應的逆向指令碼。
附件
否
復原SQL選擇了附件,才會出現該配置項。單擊上傳檔案,上傳復原SQL附件。
說明附件僅支援.txt、.zip和.sql的檔案類型,最大不能超過15 MB。
變更相關人
否
設定的相關人員都可查看工單,並協同工作,非相關人員則不能查看工單(管理員、DBA除外)。
在工單詳情頁中,單擊分批執行配置按鈕,設定以下參數,單擊提交修改。
確認工單詳情資訊。
說明您可以在工單詳情頁中,查看工單的詳情資訊,同時系統也會對將要執行的SQL進行執行前的預檢查,包括SQL文法解析、安全規則中的SQL類型校正、工單提交人的許可權檢查、預計檢查掃描行數等。
確認資訊無誤且預檢查通過後,單擊提交審批,並在彈窗中單擊確認。
重要在提交審批前,您可以修改工單內容和定時配置,一旦提交審批後,將不能修改相關資訊。
管理員審批並執行工單。
以管理員帳號登入Data Management 5.0。
在DMS控制台首頁我的工單地區,單擊待處理工單。
在我的工單頁面,單擊目標工單號。
在工單詳情頁,確認工單變更資訊,單擊同意。
在審批意見文字框中輸入具體意見,並單擊確定。
單擊執行變更,選擇執行時間,並單擊確定執行。
單擊確定執行後,系統將自動開始執行。
說明預設為立即執行,您也可以自行選擇開始的執行時間。
若您選擇指定結束時間,系統在時間到達後將不再執行未完成的SQL,該功能主要為了防止在高峰期影響業務的運作。
在執行地區,單擊詳情,並在彈窗中單擊執行進度,查看任務執行進展。
管理員驗證任務。
以管理員帳號登入Data Management 5.0。
在資料庫執行個體列表中展開
POC_dev
執行個體,雙擊poc_dev
資料庫,進入SQL Console頁。在SQL Console視窗中,輸入如下查詢語句,單擊執行,此時發現
long_text_b
欄位的資料已被更新。SELECT * FROM `big_table`;