.NET Web アプリケーションから渡される配列の形式で入力を受け取るプロシージャを作成しました。
手順: テーブル内のすべてのデータを含むカーソルを開き、カーソルから行ごとにデータをフェッチし、検証ルールを適用します。
行ごとに、DB への複数のヒットが必要です (ほとんどの場合、ネストされたクエリが含まれます)。データの検証が失敗した場合はremarks
、同じテーブルのフィールドを更新し (更新クエリをすぐに使用して)、検証が成功した場合は、他のテーブルにデータを挿入/更新します。
25 万件のレコードで試してみたところ、処理に 1 時間以上かかることがわかりました。
このストアド プロシージャのパフォーマンスを改善する必要があります。これを達成する方法を教えてください。
私はこれについて考えを持っています。
複数のレコード セット (各セットに 10 k) を作成し、マルチスレッドを使用する方法と同じように各セットを処理します。
これは可能ですか?はいの場合、どのように?