SQL クエリから 2 つの大きなデータセットを比較しようとしています。現在、SQL クエリは外部で実行され、各データセットの結果は独自の csv ファイルに保存されます。私の小さな C# コンソール アプリケーションは、2 つの text/csv ファイルを読み込み、相違点を比較して、相違点をテキスト ファイルに保存します。
最初のファイルからすべてのデータを arraylist にロードし、各行が 2 番目の csv ファイルから読み取られるときに arraylist で .compare() を実行するだけの非常に単純なアプリケーションです。次に、一致しないレコードを保存します。
アプリケーションは動作しますが、パフォーマンスを改善したいと考えています。両方のファイルがソートされているという事実を利用できれば、パフォーマンスを大幅に改善できると思いますが、順序を維持して特定の位置を選択できる C# のデータ型を知りません。基本的な配列がありますが、各リストにいくつのアイテムが含まれるかはわかりません。100万件以上のレコードを持つことができました。確認する必要がある利用可能なデータ型はありますか?