データをすばやく検索するために使用するアプリケーションの作成を開始しました。
ServiceStack.Redis からクライアントを使い始めました。(NuGet 経由で取得) これに関連して、20k の会社データ レコードを挿入する小さなテスト アプリを作成し、次のコードを使用してこのことを照会しています。
using (var companies = redisClient.As<Company>())
{
var companiesFound = companies.GetAll().Where(x => x.CompanyName.Contains(searchString));
dgvOutput.DataSource = companiesFound.ToList<Company>();
}
私が使用するCompanyクラスは次のようになります。
public class Company
{
public long Id { get; set; }
public string CompanyName { get; set; }
public string CompanyAddress { get; set; }
public string CompanyCity { get; set; }
}
これはすべてうまくいきますが、速いとは言えません。このことを可能な限り速く実行するために何をすべきかについて誰か助けてもらえますか? インデックス?クエリの種類が違う?LINQ を使用しない方がよいでしょうか。