當業務累積了大量資料時,需要對線上資料與歷史資料進行分隔管理,或定期清除表中資料。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附件。 說明 附件僅支援.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控制台首頁我的工單地區,單擊待處理工單。
在我的工單頁面,單擊目標工單號。
在工單詳情頁,確認工單變更資訊,單擊同意。
在審批意見文字框中輸入具體意見,並單擊確定。
單擊執行變更,選擇執行時間,並單擊確定執行。
單擊確定執行後,系統將自動開始執行。
在執行地區,單擊詳情,並在彈窗中單擊執行進度,查看任務執行進展。
管理員驗證任務。
以管理員帳號登入Data Management 5.0。
在資料庫執行個體列表中展開POC_dev
執行個體,雙擊poc_dev
資料庫,進入SQL Console頁。
在SQL Console視窗中,輸入如下查詢語句,單擊執行,此時發現long_text_b
欄位的資料已被更新。
SELECT * FROM `big_table`;
