バッチ業務を行う場合に、インデックスの非活性化、インデックスの縮退指定の変更を行うことにより、性能向上および資源の効率化を図ることができます。
大量更新を行うバッチ業務の場合は、インデックスを非活性状態にします。インデックスを非活性状態にすることにより、インデックスの更新を行いません。そのため、バッチ業務の処理効率を向上させることができます。なお、バッチ業務が使用するクライアント用の動作環境ファイルのINACTIVE_INDEX_SCANには事前にNOを指定してください。
インデックスの非活性状態への変更は、rdbalidxコマンドで行います。
$ rdbalidx -i 在庫管理DB.在庫表IXDSI1 -s INACTIVE
注意
クライアント用の動作環境ファイルのINACTIVE_INDEX_SCANにNOを指定せずにバッチ業務を実行すると、非活性状態のインデックスDSIを参照し、バッチ業務がエラーとなる場合があります。
バッチ業務と並行してオンライン業務を実行する場合は、オンライン業務を実行しているユーザに対し、バッチ業務が対象とするDSIを除外してください。DSIが除外されていない場合、非活性状態のインデックスDSIを参照し、オンライン業務がエラーとなる場合があります。
参照
rdbalidxコマンドの指定方法の詳細については、“Symfoware Server コマンドリファレンス”を参照してください。
クライアント用の動作環境ファイルの詳細は、“Symfoware Server アプリケーション開発ガイド(埋込みSQL編)”を参照してください。
データに対する削除や更新の頻度はそれほどでもなく、インデックススペースの利用効率を向上させたいバッチ業務の場合は、インデックスの縮退指定ありで運用します。
インデックスの縮退指定なしで定義している場合は、rdbalidxコマンドで、インデックスの縮退指定ありの設定を行います。
参照
rdbalidxコマンドの指定方法の詳細については、“Symfoware Server コマンドリファレンス”を参照してください。
インデックスの縮退指定ありを設定する場合の例を以下に示します。
$ rdbalidx -i 在庫管理DB.製品名IXDSI -d ON
注意
縮退指定を変更するDSIが、アプリケーションなどで使用されている場合は、変更できません。インデックスの縮退指定の変更内容は、PRIMEFLEX for HA Databaseの停止後も引き継がれます。
DSO定義でPRECEDENCE(1)が指定されたSEQUENTIAL構造の表に付加されたインデックスでは、縮退指定の変更はできません。そのため、インデックスの容量監視を行い、必要に応じて再編成を行ってください。
帳票印刷などの、夜間バッチ業務を行います。
データに対する削除や更新の頻度が高く、処理性能を重視するオンライン業務では、インデックスの縮退指定なしで運用します。
インデックスの縮退指定ありの解除は、rdbalidxコマンドで、インデックスの縮退指定ありの解除を行います。
参照
rdbalidxコマンドの指定方法の詳細については、“Symfoware Server コマンドリファレンス”を参照してください。
インデックスの縮退指定ありを解除する場合の例を以下に示します。
$ rdbalidx -i 在庫管理DB.製品名IXDSI -d OFF
注意
縮退指定を変更するDSIが、アプリケーションなどで使用されている場合は、変更できません。インデックスの縮退指定の変更内容は、PRIMEFLEX for HA Databaseの停止後も引き継がれます。
DSO定義でPRECEDENCE(1)が指定されたSEQUENTIAL構造の表に付加されたインデックスでは、縮退指定の変更はできません。そのため、インデックスの容量監視を行い、必要に応じて再編成を行ってください。