C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.92227 の関連記事表示

<< 0 >>
■92227  Re[6]: 抽出条件を満たすデータのみをリストにコピーする方法
□投稿者/ 魔界の仮面弁士 -(2019/09/03(Tue) 15:04:22)
    2019/09/03(Tue) 15:41:17 編集(投稿者)

    No92225 (大谷刑部 さん) に返信
    > 上記のリンクの例は、そもそも行追加をばかちょんで2万行ループでaddするロジックがナンセンスな気が。

    それが必ずしも、件数の問題とも言い切れない面があるようで。

    当方環境でも、.Columns.Count == 2 かつ .Rows.Count == 0 な
    DataTable に対して、31 レコードを Row.Add するだけの単純な処理で
     修正前: 27.9 秒  … インスタンスを使いまわした場合
     修正後: 0.17 秒  … DataSet を作り直してから .Rows.Add した場合
    という速度差になったことがあります。(PrimaryKey 設定済み)


    1 件目の .Rows.Add は数十ミリ秒(既に遅いが、許容範囲)だったですが、
    件数が増えるにつれて徐々に遅くなり、30 件目では
    1 秒以上を要していました。
    (EnforceConstraints を false にしても効果なし)

    根本的な再現要因は特定できていないのですが、DataSet インスタンスを
    使いまわさず、new しなおしてから .Rows.Add することで速度改善したため、
    以降は対処療法として、都度、インスタンスを作り直すようにしています。
記事No.92132 のレス /過去ログ159より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -