Symfoware Server SQLビギナーズガイド - FUJITSU - |
目次 索引 |
第6章 いろいろなデータ操作の方法 |
定型的な業務のようにデータ検索のキーとなる項目が明確である場合、インデックスを設定するなどの手段を使って検索効率の向上を図ることができます。一方、定型業務で使用するデータベースを夜間バッチ処理で帳票出力する場合、検索時間が長くかかることがあります。そのようなバッチ処理を効率的に行うためには、データベースを複数のDSIに分割し、それぞれを並列に検索するようにします。これを並列クエリと呼びます。並列クエリを実行するためには、以下の指定を行います。
並列クエリを利用する範囲によって以下のいずれかを指定します。
並列クエリを利用する範囲と指定方法の関係を以下に示します。
並列クエリ実行の範囲 |
指定方法 |
---|---|
SQL文単位 |
カーソル宣言に並列指定“PARALLEL”を指定します。 |
コネクション単位 |
サーバ用の動作環境ファイルの“PARALLEL_SCAN”にYESを指定します。 |
アプリケーション単位 |
クライアント用の動作環境ファイルの“PARALLEL_SCAN”にYESを指定します。 |
優先順位は、SQL文単位、コネクション単位、アプリケーション単位の順になります。
動作環境ファイルの“SQL_LEVEL”にSQL96またはSQL2000を指定します。
動作環境ファイルの“MAX_PARALLEL”に並列の多重度を指定します。
データベースを複数のDSIに分割する方法については“RDB運用ガイド(データベース定義編)”を、動作環境ファイルについては“アプリケーション開発ガイド(埋込みSQL編)”をそれぞれ参照してください。
並列指定の指定例を以下に示します。
例
売上履歴から、商品区分が家電の商品の、商品コードと年月ごとの売上の合計を求めます。注) 集合関数の結果の列には名前がありません。
目次 索引 |