VB6 open 〜 Access Write As #inpFile の書き込みバッファのデフォルトサイズについて

解決


mあ  2007-06-13 03:46:22  No: 98971

VB6

open 関数で #inpFile をシーケンシャルアクセス・書き込みモードで
オープンしたとき、書き込みバッファのデフォルトサイズはいくつく
らいなのでしょうか?
参考までに、読込モードでオープンしたときの読込バッファのデフォル
トサイズも教えていただけると幸いです。

よろしくお願いします。

# 800KバイトのCSVデータファイル作成のために、
# ストアドファンクション実行&テンポラリテーブル作成で、
# 2分、CSV出力に3分も掛かっているツールがありますが、
# これの高速化・・・はぁ・・・5000 行もあるソースなんて
# 見るのも辛く・・・

以上


mあ  2007-06-14 21:21:05  No: 98972

マルチポスト
わんくま掲示板:
http://bbs.wankuma.com/index.cgi?mode=al2&namber=4337

2つの掲示板に同じ内容のスレッドを立てました。
双方にレス&進捗報告を行うのでよろしくお願いします。

以上


mあ  2007-06-15 00:40:02  No: 98973

わんくまさんの掲示板で多数のレスを頂き感謝しております。
ここの掲示板に出入りしている方もあちらには多いので
こちらは閉めます。

ありがとうございました。


魔界の仮面弁士  2007-06-15 01:21:19  No: 98974

閉めるのはかまいませんが、最終的な結果報告はお願いしますね。

# 過去ログ保持の仕組み上、日数が経つと、わんくま板の方は
# 閲覧できなくなる or URLが変更になりそうなので…。(^^;


mあ  2007-06-22 00:55:13  No: 98975

能無しなコピペで済みませんm(__)m

皆様>

既存VB-PGMの実行速度改善に取り組み、結果として90%程度の高速化を達成出来ました。
時間が無くそれぞれの実装タイミングでの新旧ソースの実行時間計測は行えませんでし
たが、実行速度改善に向けて取り組んだことを書きます。

(1) Strcat クラス の実装
    "文字列" & "文字列" ... 部を Strcat クラスメソッドに置き換え
(2) ODBC フェッチサイズ、フェッチ行数の設定
デフォルトで、フェッチサイズ:フェッチ行数=4096:100 でしたので、
30K : 12K に変更しました。
(3) VB ロジック改善

PGM概要
最終的に、SVF に食わせる CSV ファイルを2つ以上作成するというVB-PGMです。
サンプルデータは 8000 件、ファイルサイズは、本体:740Kバイト,サブ:8Kバイト
になります。本番時は、データ件数 20万件程度、帳票枚数で600 枚。

修正前CSV出力のみの実行時間:194 秒
修正後CSV出力のみの実行時間:14 秒

修正前ソースを精査したところ、なんと、ストアドでデータを一括で取得するのですが、
1カテゴリのデータを出力するたびに、8000 件のレコードを毎回全走査していたことが
判明。8000 件で40カテゴリあるので・・・ぞっとするコーディングでした。
で、毎回全件検索しているのは変だと思い、SQLのソート条件をSQLいじっている担当に
聞くと、ソートしてない、とのこと。カテゴリでソートし、データが昇順に並ぶように
しておいて余計なループをまわさないようにした結果が上記秒数になった次第です。

ご協力ありがとうございました。
あまり後進の役に立ちそうも無い内容で恐縮です。

※仕様の不備はそのままにしないで仕様制定した本人に直談判して改善しましょう。
  与えられた仕様だけを満足しちゃうとこんなとんでもないモノができちゃいます。
と再三呼びかけているのですが、効果無し、と・・・


mあ  2007-06-22 00:57:13  No: 98976

http://blogs.wankuma.com/rti/archive/2007/01/08/55000.aspx
Strcatクラスへのリンク

http://bbs.wankuma.com/index.cgi?mode=al2&namber=4337
わんくまHPへのリンク

以上


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加