2016-05-20 4 views
-2

より速いのは何ですか?ビューまたはテーブルのストアドプロシージャの効率

EDIT DBテーブルに対して直接、より複雑なストアドプロシージャを実行する基礎となるDBテーブル

  • の複雑さを隠すために作られた多くのビューでストアドプロシージャを実行する

    上記は、格納されたprocとビューの両方がうまく開発されており、最も効率的かつ可読性があると仮定しています。

    ありがとう

  • +0

    これは、ビューおよび/またはストアドプロシージャの特定の実装に完全に依存します。 1つのアプローチは、本質的に他のアプローチよりも高速ではありません。ビューは抽象化やカプセル化を許可しますが、それらを間違って構築したり間違って使用したりすると、パフォーマンスが低下する可能性があります。より複雑なストアドプロシージャを使用すると、より高度な制御が可能になりますが、コードのカプセル化/再利用が少なくなり、書き込み/テスト/デバッグ/保守が難しくなります。要するに、あなたの質問は広すぎます。 – MatBailie

    答えて

    1

    ビューには実行計画がありません。このプランは、使用時に作成され、この場合はストアドプロシージャの実行計画に格納されます。同じクエリで終了する限り、ビューを使用するかどうかに違いはありません。

    ビューの複雑さを隠すことは、DRYの原則のためメンテナンスには最適です。私はこれをお勧めします。あなたが正しいことをしていることを確認してください。エンジンは、特にあなたがそれらを構成するときに使用しないビューの部分を排除することができます。

    関連する問題