C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[3]: OutOfMemoryExceptionについて
(過去ログ 59 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 4 記事 (1 - 4 表示)] <<
0
>>
■33851
/ inTopicNo.1)
OutOfMemoryExceptionについて
▼
■
□投稿者/ めぐ
(3回)-(2009/03/11(Wed) 15:45:02)
分類:[C#]
C#.NET(vs2005)、windowsアプリ、SQLServer2005で開発しています。
2つのDB(ADB、BDB)から1つのテーブルについてデータセットを
取得(数万件ずつ)して、プログラムにてマッチング処理を行い
BDBを差分更新する処理を行っていますが、OutOfMemoryExceptionが
出る様になりました。今までは出てませんでした。件数は以前より増えました。
エラーを検索をするとメモリ不足と書いてありました。メモリは4Gです。
上記エラーを解決するには「ワーカープロセスのメモリリサイクル」
(
http://www.i-site.jp/dd.aspx?itemid=2900
)を行うと書いてあった
のですが、これは今回の事象を解決する手段なのでしょうか?
又、データ件数が多い事でメモリを大量に使用するならば、
上記処理はストアドを作成してSQLServer側で行えば解決出来るのでしょうか?
皆様、お忙しい所誠に申し訳御座いませんが、ご教授願います。
引用返信
編集キー/
編集
■33853
/ inTopicNo.2)
Re[1]: OutOfMemoryExceptionについて
▲
▼
■
□投稿者/ オショウ
(117回)-(2009/03/11(Wed) 16:02:22)
> 2つのDB(ADB、BDB)から1つのテーブルについてデータセットを
> 取得(数万件ずつ)して、プログラムにてマッチング処理を行い
この部分、データセットに取得している段階で、レコード数増加に伴い
当然、いつかはメモリ不足に落ちることになります。
よって、SQL文でA・Bの差分を抽出(キーのみ?)してから、
Bにその抽出されたキーで街頭する内容を更新処理する・・・
と言う流れになろうかと。
それでもレコード数が増大すれば差分抽出だけでも搭載メモリ容量
に達する場合があります。
DB設計がどうなっているか・・・ですが、最悪の事態を考えると
一時テーブルに差分情報を一旦抽出してからBに更新処理を行う。
と言う2段構えになろうかと。
DB構造が解りませんので、あくまで概念的な流れをコメントして
おきます。
以上。
引用返信
編集キー/
編集
■33854
/ inTopicNo.3)
Re[2]: OutOfMemoryExceptionについて
▲
▼
■
□投稿者/ オショウ
(118回)-(2009/03/11(Wed) 16:02:59)
> Bにその抽出されたキーで街頭する内容を更新処理する・・・
該当ね!・・・
以上。
引用返信
編集キー/
編集
■33857
/ inTopicNo.4)
Re[3]: OutOfMemoryExceptionについて
▲
▼
■
□投稿者/ めぐ
(6回)-(2009/03/11(Wed) 16:56:11)
オショウさん
アドバイス有難う御座いました。
上記方法で実装してみます。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-