前に書いた記事では、この使い方で紹介しました。});}単一列の検索じゃなくて複数列に対する検索と、ソートまでやってます。実行結果は以下のようになりました。255ms250msくらいかかっています。5万件からこの条件で探すなら、結構いいかなって感じもします。他の方法を見てみます。インデックスを作ってSelectSelectメソッドは、事前にDataView作ってインデックスちゃんと作っておくと早くなったりします。今回はCOLUMN_0とCOLUMN_1で検索、ソートしてるのでDataViewのSortプロパティでCOLUMN_0とCOLUMN_1を指定しておいてSelectを呼んでみます。});}実行すると以下のような結果になります。64ms凄く早くなっています!!さすがインデックスの力。このプログラムはズルしてて、インデックスを作る処理を計測時間に入れていません。いうことで、以下のようにプログラムを変えてインデックスを作る処理も計測範囲に入れてしまいましょう。353msちょっと残念な結果になってしまいました。インデックスを作るのに、結構な時間がかかってそうです。(まぁインデックス作るのにDataTableの中身最低でも1回は総なめしないといけないから当然っちゃ当然です)なので、このDataViewで事前にインデックスを作っておく方法は、同一のDataTableに対して、複数回Selectを呼ぶときに効果を発揮します。今回みたいに一回きり検索しかしないときは、逆にインデックスの生成が負担になってしまいます。DataViewを作ったときのちょっとした罠さらにDataViewでインデックスを作るときに注意することがあります。インデックス作ってしまうと、データの書き込み時にインデックスの更新が入ってしまうためか、書き込みのパフォーマンスが悪化してしまいます。(データ量に依存するのかどうかまでは、調べてません)ちょっと実際に見てみましょう。});}DataViewを使わない状態で、全データを書き換えています。実行結果は以下のようになりました。103ms大体100msかかっています。50万箇所書き換えてる割には優秀だと思われます。これを、データ書き換えの前にDataViewにインデックス作らせるように仕向けたプログラムになおして実行してみます。813ms8倍くらい時間がかかってます。いうことで、データを書き換えることが多いときは、DefaultViewにインデックス作ってしまうと悲しいことになるかもしれません。プログラムは作ってみました。上で書いてるSelectを使ったものと同じ条件になってるはずです。56msちょっとびっくり。インデックスを使うようにしたSelectメソッドよりも早いです。DataSetを使えるときには使っておくとよさげ。遅延評価じゃないという旨の記載が...2016-02-21UWPでファイルのドロップをしたい以下のような感じでいけます。C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。Blogの内容は個人の見解であり、所属する企業を代表するものではありません。)はてなブログをはじめよう!okazukiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。