ユーザーに送信されるcsvファイルにデータをスプールする重いクエリがあります。手動で並列セッションを作成し、フィルタ条件を使用してクエリを実行しているため、最後にすべてのスプール ファイルを 1 つのファイルに結合できるため、データの生成にかかる時間が短縮されます (通常、並列セッションでは約 10 時間かかります)。 2.5〜3時間)。
私の質問は、スクリプトが max(agreementid) を検出し、それを X 個のスプール呼び出しに分散して、各ファイルが最大 100000 レコードを持つ X ファイルを生成するように、これを自動化するにはどうすればよいかということです。
追加の説明: 私の質問はあまり明確ではなかったと思います。もう一度説明してみます。
- 大量のデータを含むテーブル/ビューがあります。
- このデータを CSV ファイルにスプールする必要があります。
- CSV ファイルのスプールには膨大な時間がかかります。
- 以下を実行して、並列スプールを実行します。a) 選択 .... から ... ここで、1 から 1000000 までの Agreementid。b) 1000001 から 2000000 の間の Agreementid から .... を選択します。など、複数のセッションで個別にスプールします。
- これにより、複数のファイルを生成して、それらをつなぎ合わせてユーザーと共有できます。
- テーブルから AgreementID の最小値と最大値を見つけ、スプーリング スクリプトを自動的に作成し、SQL の個別のセッションでそれらを実行して、ファイルが自動的に生成されるようにするスクリプト (DOS ベースまたは AIX ベースだと思います) が必要です。
私が自分自身を十分に明確にすることができたかどうかはわかりません。私の以前の質問に返信してくれてありがとう。