単一の顧客に対して1つのインスタンスを持つ必要があるため、カスタム構造をクラスとして実装しています。これは、5つのフィールド言うことができます、かなりの数のフィールドがあります。私は、多くの場合、別の比較戦略を使用してこれらの構造、すなわち、List<SCustomer>
のリストをソートする必要がある必要があり、ビジネス・ロジックで1つのリストに対して複数の並べ替え順序を保持する方法<MyStructure>
public class SCustomer
{
public Guid ID;
public int PriorityIndex;
public string Name;
public DateTime BirthDate;
public double Rating;
}
は、いくつかのインスタンスする比較器として実装されている、いくつかの匿名の代理人です。
私は新しい注文が必要なたびに、List
をソートすることはパフォーマンス上の理由からオプションではありません。多くのリストを整理することは、苦痛である。すなわち、定期的(頻繁ではない)の更新があり、更新はバッチ更新であるので、それらを同期させておく必要がある。
.NETで複数のソートオーダーをリレーショナルデータセットに維持するためのアドバイスは何ですか?
参考:リストサイズは約100,000アイテムです。更新速度は、1000の読書シナリオサイクルにつき約1更新です。更新は約10%のレコードに触れる。
あなたはデータベースについて言及しましたが、使用しないでください。 –
ティムが言ったように。そして、これはすべて行の数、更新頻度、データベースの待ち時間などに非常に依存します。 –
@TimSchmelter私はデータベースを使用します。問題は.NET側ではかなり大きなキャッシュが必要なことです。いくつかの方法でソートする必要があります。 –