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

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

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

No.92225 の関連記事表示

<< 0 >>
■92225  Re[5]: 抽出条件を満たすデータのみをリストにコピーする方法
□投稿者/ 大谷刑部 -(2019/09/03(Tue) 14:57:13)
    No92223 (魔界の仮面弁士 さん) に返信
    > ■No92220 (大谷刑部 さん) に返信
    >>鵜呑みかどうかはともかくDatatableが件数増えると遅いという印象を持たれてそのような情報が多いのは事実ですね。
    >>ただ、DBのテーブルと同様に主キーを設定しておけばそうでもない気はします。
    >
    > DataGridView 等にバインドしている場合、ユーザー操作により
    > DefaultView に対する Sort 指定が行われることがありますね。
    >
    > その結果、.Rows.Clear() 後にループで .Rows.Add するといった処理が低速化することがあります。
    > https://blog.doizaki.com/entry/2014/01/11/004238

    質問者ほったらかしでレスするのもなんですが、
    上記のリンクの例は、そもそも行追加をばかちょんで2万行ループでaddするロジックがナンセンスな気が。
    SQLでもインデックスはったらinsert分が遅くなるてことはあり得る話なので、datatableでも当然起こり得るでしょう。
    少なくとも検索する項目が一定なら、定説遅いといわれているDatatableのselectメソッドも検索項目を主キーにしとけばそれほど遅くないので
    Datatableへのアレルギーを持つ必要はないと言いたかっただけです。


    > >> Listを多用するようになったのは、繰り返し処理を行うときに
    > >> DataTable.Rows を使うよりも List(クラス) を使ったほうが早いと
    > >> ネット情報を鵜呑みにしたからです。
    >
    > データバインディングが目的なら、BindingList<T> クラスなんてのもあります。
    >
    > このクラスは変更通知機構を有しているため、バインド時に元データを修正すると、
    > 編集結果が直ちに、バインド先のコントロールにも反映されるようになっています。
    > https://www.oborodukiyo.info/Forms/VS2015/F-SetBindingListOnDataSource

    質問者さんのソースをあまり変えずに済む案としては上記が現実的なのかもしれませんね。
記事No.92132 のレス /過去ログ159より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -