大量のデータが保存されている場合、本番データをアーカイブデータから分離するか、テーブルから定期的にデータを削除する必要があります。テーブル内のデータを変更する際、Data Management (DMS) はテーブルをロックせずにデータを変更する機能を提供します。テーブル内のプライマリキーまたは NULL 値を受け付けない一意キーに基づいて、バッチでデータを変更できます。この機能は、高い実行効率を保証し、データベースのパフォーマンスとストレージへの影響を最小限に抑えます。
使用上の注意
ロックフリーデータ変更機能を使用して、SELECT、UPDATE、DELETE などの単純な SQL 文を実行することで、単一のテーブル内のデータのみを変更できます。この機能は、JOIN 操作を含む DELETE 文などの複雑な SQL 文を実行して、複数のテーブルのデータを変更するために使用することはできません。
手順
この例では、ロックフリーデータ変更機能を使用して、big_table テーブルの long_text_b フィールドのデータをバッチで 'random long text' に変更する方法を示します。
一般ユーザーとしてチケットを申請します。
一般ユーザーとして DMS コンソール V5.0 にログインします。
上部のナビゲーションバーで、 を選択します。
説明DMS コンソールをシンプルモードで使用している場合は、コンソールの左上隅にある
アイコンにポインターを合わせ、 を選択します。パラメーターを設定し、[申請] をクリックします。
次の表に、パラメーターの一部を示します。
パラメーター
必須
説明
データベース
はい
poc_devデータベースを選択します。ビジネス背景
いいえ
コミュニケーションコストを削減するために、ビジネス要件の背景情報を入力します。
影響を受ける行
はい
この変更が影響するデータ行数を見積もります。SQL コンソールで
countコマンドを使用して統計を取得できます。変更用 SQL 文
はい
次の
UPDATE文を入力します。この文は、big_tableテーブルのlong_text_bフィールドのデータをバッチでrandom long textに変更します。UPDATE `big_table` SET `long_text_b` = 'random long text' WHERE id < 1000000;[チケット詳細] ページで、[チャンクオプション] をクリックします。表示されるダイアログボックスで、次のパラメーターを設定し、[変更を申請] をクリックします。

チケットの詳細を確認します。
説明[チケット詳細] ページでチケットの詳細を表示できます。DMS は、実行する SQL 文を事前チェックします。事前チェック項目には、SQL 文の構文、SQL 文のタイプがセキュリティルールで設定したタイプと一致するかどうか、チケットを申請したユーザーの権限、およびスキャンされると推定される行数が含まれます。
チケットの詳細が確認され、事前チェックが完了したら、[承認申請] をクリックします。表示されるメッセージで、[OK] をクリックします。
重要チケットを承認申請する前にのみ、チケットの詳細を変更できます。
DMS 管理者としてチケットを承認し、実行します。
DMS 管理者として DMS コンソール V5.0 にログインします。
DMS コンソールのホームページで、[マイチケット] セクションの [保留中のチケット] をクリックします。
[マイチケット] ページで、処理するチケットを見つけ、[チケット番号] 列のチケット番号をクリックします。
[チケット詳細] パネルで、チケット内のデータ変更情報を確認し、[承認] をクリックします。
[承認] ダイアログボックスで、コメントを入力し、[申請] をクリックします。
[実行] ステップで、[変更を実行] をクリックします。表示されるダイアログボックスで、[実行戦略] パラメーターを [すぐに実行] に設定し、[実行を確認] をクリックします。
[実行を確認] をクリックすると、DMS はタスクの実行を開始します。
説明[実行戦略] パラメーターのデフォルト値は [すぐに実行] です。[実行戦略] パラメーターを [スケジュール] に設定して、チケットの実行時間を選択することもできます。
[終了時刻を指定] をオンにすると、DMS は指定した終了時刻に SQL 文の実行を停止します。これにより、ピーク時に SQL 文がビジネスに影響を与えるのを防ぎます。
[実行] ステップで、[詳細] をクリックします。表示されるダイアログボックスで、[実行進捗] をクリックして進捗を表示します。
管理者としてデータが更新されたことを確認します。
DMS 管理者として DMS コンソール V5.0 にログインします。
データベースインスタンスのリストで、
POC_devインスタンスを展開し、poc_devデータベースをダブルクリックして SQL コンソールページを開きます。SQL コンソールウィンドウで、次の検索文を入力し、[実行] をクリックします。結果は、
long_text_bフィールドのデータが更新されたことを示しています。SELECT * FROM `big_table`;