sql >> データベース >  >> RDS >> Sqlserver

SQL-Serverのパフォーマンス:ストアドプロシージャとビューのどちらが高速ですか?

    ストアドプロシージャ(SP)とSQLビューは、この投稿で何度か述べられているように、異なる「獣」です。

    クエリプランのキャッシュに関連するいくつかの[通常はマイナー、フリンジケースを除く]パフォーマンスの考慮事項、ストアドプロシージャへのバインドに関連する時間などを除外すると、2つのアプローチは全体的に同等のパフォーマンスになります-賢明です。 しかし...

    ビューは、単一のSELECTステートメントで表現できるものに制限されます(おそらくCTEやその他のいくつかのトリックを使用)が、一般に、ビューは宣言型のクエリに関連付けられています 。もう一方のストアドプロシージャは、さまざまな手続き型構造を使用できます。 (宣言型のものと同様に)、その結果、SPを使用して、より効率的な可能性のある特定のクエリを解決する方法を手作りすることができます SQL-Serverのクエリオプティマイザが(単一の宣言型クエリに基づいて)実行した可能性があるものよりも。このような場合、SPの方がはるかに高速である可能性があります(ただし、オプティマイザーは非常にスマートであり、同等のビューよりもSPを大幅に遅くするのにそれほど時間はかかりません)。

    これらのパフォーマンスの考慮事項を除けば、SPはより用途が広く、ビューよりも幅広い問い合わせとアクションを可能にします。



    1. Oracle 11gを完全にアンインストールするにはどうすればよいですか?

    2. 2013 MVPサミット:簡単なレビューと展望

    3. 値'2012-04-0510:20:00'を列XXからTIMESTAMPに変換できません

    4. AirflowをOracleデータベースに接続する方法