全部產品
Search
文件中心

Data Management:無鎖資料變更

更新時間:Jun 30, 2024

當業務累積了大量資料時,需要對線上資料與歷史資料進行分隔管理,或定期清除表中資料。DMS的無鎖資料變更功能將結合表中的主鍵或非空唯一鍵,分批對錶中的目標資料進行操作,在保證執行效率的同時,儘可能地減小了對資料庫效能、空間的影響。

注意事項

無鎖資料變更僅支援單表、簡單的SQL操作(例如SELECT、UPDATE、DELETE等),不支援多表操作(例如DELETE語句中包含JOIN)。

操作步驟

本樣本通過無鎖資料變更功能將big_table表中的long_text_b欄位的資料批量改為random long text

  1. 普通使用者提交工單。

    1. 以普通使用者帳號登入Data Management 5.0

    2. 在頁面頂部,選擇資料庫開發 > 資料變更 > 無鎖變更

      說明

      若您使用的是極簡模式的控制台,請單擊控制台左上方的2023-01-28_15-57-17.png表徵圖,選擇全部功能 > 資料庫開發 > 資料變更 > 無鎖變更

    3. 配置相關資訊,並單擊提交申請

      其中部分參數的說明如下。

      參數名

      是否必填

      說明

      資料庫

      選擇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除外)。

    4. 工單詳情頁中,單擊分批執行配置按鈕,設定以下參數,單擊提交修改

      分批執行配置

    5. 確認工單詳情資訊。

      說明

      您可以在工單詳情頁中,查看工單的詳情資訊,同時系統也會對將要執行的SQL進行執行前的預檢查,包括SQL文法解析、安全規則中的SQL類型校正、工單提交人的許可權檢查、預計檢查掃描行數等。

    6. 確認資訊無誤且預檢查通過後,單擊提交審批,並在彈窗中單擊確認

      重要

      在提交審批前,您可以修改工單內容和定時配置,一旦提交審批後,將不能修改相關資訊。

  1. 管理員審批並執行工單。

    1. 以管理員帳號登入Data Management 5.0

    2. 在DMS控制台首頁我的工單地區,單擊待處理工單

    3. 我的工單頁面,單擊目標工單號

    4. 工單詳情頁,確認工單變更資訊,單擊同意

    5. 在審批意見文字框中輸入具體意見,並單擊確定

    6. 單擊執行變更,選擇執行時間,並單擊確定執行

    7. 單擊確定執行後,系統將自動開始執行。

      說明
      • 預設為立即執行,您也可以自行選擇開始的執行時間。

      • 若您選擇指定結束時間,系統在時間到達後將不再執行未完成的SQL,該功能主要為了防止在高峰期影響業務的運作。

    8. 執行地區,單擊詳情,並在彈窗中單擊執行進度,查看任務執行進展。

  2. 管理員驗證任務。

    1. 以管理員帳號登入Data Management 5.0

    2. 在資料庫執行個體列表中展開POC_dev執行個體,雙擊poc_dev資料庫,進入SQL Console頁。

    3. 在SQL Console視窗中,輸入如下查詢語句,單擊執行,此時發現long_text_b欄位的資料已被更新。

      SELECT * FROM `big_table`;

      無鎖資料變更驗證