お世話になっております。
テキストファイルをTListViewに読込、テーブルをキーでオープンし、
同一キーでレコードが存在しなければInsert、存在すればupdateという処理を行っています。(キーは主キーではありません)
1万件のデータを同一トランザクション内で処理しているのですが、
処理の途中で、『テンポラリ ファイルのための空き容量が不足しています。』というエラーが発生します。
メモリー空き領域は処理中明らかに減っていき、エラー発生時のハードディスクテンポラリ領域の一時ファイルの大きさは1Gとなっていました。
原因、解決方法があればお教えください。
ボンミスでした....が、一応原因を書いておきます。
TQueryの最適化を自動で行っていたため、TEMPの一時ファイルが
肥大化していたようです。
1万件データ登録の繰り返しの開始にPrepareし、
終了後にUnPrepareすることにより、1G程度だったテンポラリーの
一時ファイルの大きさを半分程度にすることができました。
一人芝居で申し訳ないです....
ツイート | ![]() |