目的
ロード分離(LDI)テーブルで、明示的な同時の分離ロード操作が開始されます。テーブルの読み込み中にコミット済みの行で同時読み込み操作を実行できます。
BEGIN ISOLATED LOADING文を実行した後、ロード操作を開始するには、まずSET QUERY_BANDを使用してLDILoadGroup予約済みクエリー バンドをセッションのロード グループの値に設定する必要があります。 LDILoadGroup Query Bandを参照してください。
ロード分離テーブルは、明示的なロード状態または暗黙的なロード状態のいずれかにあることはできますが、両方の状態にあることはできません。明示的なロードが始まると、複数のセッションがテーブルをロードできます。テーブルでロードを実行するどのセッションも、ロード セッションと見なされます。テーブルは、ロードがコミット済みになるまで、コミット保留状態のままです。END ISOLATED LOADING文を実行するまで、テーブルはロード状態にあり続けます。
ロード分離テーブルの作成については、WITH ISOLATED LOADINGのCREATE TABLEオプションを参照してください。またテーブルに変更を加えて、ロード分離オプションを指定することもできます。WITH ISOLATED LOADINGのALTER TABLEオプションを参照してください。
必要な権限
ベースLDIテーブルへのINSERT、UPDATE、またはDELETE権限が必要です。
構文
構文要素
- CONCURRENT
- 読みやすくするために含めることができるキーワード。
- database_name
- テーブルが含まれるデータベースまたはユーザーの名前(現在のデフォルト データベースと異なる場合)。
- user_name
- テーブルが含まれるユーザーの名前(現在のデフォルト ユーザーと異なる場合)。
- table_name
- 分離ロード操作を実行するロード分離テーブルの名前。
- LDILoadGroup= value
- valueには、分離ロード操作に使用するロード グループを指定します。
- IN
- 前に1つまたは複数のセッションを指定するオプションのキーワード。
- SINGLE SESSION
- 現在のセッションを使用して単一のロード セッションで指定したテーブルをロードします。
- MULTIPLE SESSION
- 指定したテーブルをロードする複数のセッションを有効にします。
例
次の文は、ldi_table1とldi_table2でマルチ セッション ロードを開始します。
BEGIN ISOLATED LOADING ON ldi_table1, ldi_table2 USING QUERY_BAND 'LDILoadGroup=Grp1;' IN MULTIPLE SESSION;
SET QUERY_BAND='LDILoadGroup=Grp1;' FOR SESSION;
使用上の注意
BEGIN ISOLATED LOADING文を実行する前に、セッションでLDILoadGroup Query_Band値が設定されていないかまたはNONEに設定されている必要があります。
すでにロード操作を実行しているセッションからBEGIN ISOLATED LOADING文を発行することはできません。現在のロード操作を終了して、新たなロード操作を開始する前にLDILoadGroup予約済みクエリー バンドをNONEに設定する必要があります。
BEGIN ISOLATED LOADING文は、明示的なトランザクションの最後の文でなければなりません。