2011-03-17 21 views
0

私はストアドプロシージャを使用してデータベースからデータと変更をフェッチします。 LINQを同じジョブに使用すると、パフォーマンス上の問題はありますか?私はより良いパフォーマンスを得るかどうかを意味しますか? LINQ構文が少し複雑であることがわかりました.LINQ構文を生成するのに役立つツールもあります。LINQとパフォーマンス

おかげ

+1

関連する質問をご覧ください:http://stackoverflow.com/questions/4044400/linq-performance-faq、http://stackoverflow.com/questions/1229838/linq-performance、http://stackoverflow.com/質問/ 3584059/linq-performance – ChrisF

+1

投票に参加して、主観的/議論的に閉じる。単に「すべての問題を議論してください」よりも多くの肉を必要とします。 – user7116

答えて

2

のストアドプロシージャを呼び出すLinq2Sql VSを使っに対するわずかなパフォーマンスへの影響はあります。 1つは、ストアドプロシージャをコンパイルして保存することができますので、後続の呼び出しが速くなり、Linq2Sqlによって文が生成されるT-SQL土地VSのコントロールとオプションが増えます。

しかし、あなたのサイトがトラフィックを増やさない限り、あなたのサイトを簡単にセットアップする方法を探しているなら、それを使用しない理由はありません。

2

一般に、LINQはストアドプロシージャのパフォーマンスを上回りません。結局のところ、Linq2SqlはSQLを生成し、それはよく書かれたストアドプロシージャよりも優れていることはありません。

Linq2sqlを正しく使用しないと、パフォーマンスが低下する可能性があります。これは、遅延ロードの原則を理解していない開発者や、多くのクエリにつながる可能性があるためです。

パフォーマンスの問題を発生させる場所は、一括操作です。これは、Linq2Sqlを使用したくないのにSqlBulkCopyまたはストアドプロシージャが必要な領域です。

それにもかかわらず、私はそれを多く使用しており、一般的に満足しています。

2

LinqPadは無料のプログラムであり、LINQを学習する方法になります。それは500の例を搭載しています。

+1

LinqPadは本当にLinqを学ぶのに最適な方法ですが、Linqとストアドプロシージャの矛盾の有無を判断するのに役立たないので、質問にはあまり関係ありません。 –

+2

これは完全ではありませんが、質問の2番目の部分はLINQ構文を生成するのに役立つツールを扱い、LinqPadはその1つです... – Pleun

+0

@Franci Pleun氏は質問の第2部分を求めています。とにかく、同じ投稿で2つの質問をするのはいい考えではないと思います。 –

関連する問題