顧客に関連する約 40 のデータ フィールドに対するクエリがあります。多くの場合、クエリは大量のレコード (最大 20,000 など) を返します。最初の 500 件程度の結果のみを使用したいと考えています。次に、一度に 10 個ずつページをめくることができるようにしたいだけです。
LINQはスキップして、これに対して合理的なアプローチをとっていますか? このアプローチを使用する場合と、他の方法で手動で行う場合の潜在的なパフォーマンスの問題はありますか?
顧客に関連する約 40 のデータ フィールドに対するクエリがあります。多くの場合、クエリは大量のレコード (最大 20,000 など) を返します。最初の 500 件程度の結果のみを使用したいと考えています。次に、一度に 10 個ずつページをめくることができるようにしたいだけです。
LINQはスキップして、これに対して合理的なアプローチをとっていますか? このアプローチを使用する場合と、他の方法で手動で行う場合の潜在的なパフォーマンスの問題はありますか?
はい、SQL Server 2005 以降を使用している場合は、この関数を使用してページングを効率化する SQL が生成されます( Scott がこのブログ投稿で使用してROW_NUMBER()
いる SQL とは異なります)。