データベース内の製品を介して製品を検索する必要があり、これを正しい方法で設定して、行数が多い (1,000,000) 場合に安定したパフォーマンスが得られるようにしたいと考えています。私は LINQ と EF の経験はある程度ありますが、検索アルゴリズムを書いたことがなく、次のコードを取得しましたが、いくつかの疑問が残ります。
context.products.Where(i => i.Name.ToLower().Contains(searchText.ToLower());
説明も検索する必要があります。
context.products.Where(i => i.Description.ToLower().Contains(searchText.ToLower());
このコンテキストでは
.ToLower()
パフォーマンスが低下しますか?説明に定期的なインデックスが
Name
ありFullText
ますか? これは適切で、通常のインデックスは でうまく機能し.contains()
ますか?LINQ またはその他の方法を使用する必要がありますか?
検索テキストが名前/説明に出現する回数を取得できる方法はありますか?
ありがとうございました