ストアドプロシージャがコンパイルされたコード単位であるため、ストアドプロシージャでの使用に対して、ダイナミックT-SQLステートメントでワイルドカード解釈で使用された場合、Select * from <table/view>
はワイルドカード解釈に関して同じパフォーマンスを意味しますか?SQL Serverワイルドカード
SELECT *
は欠点の3つの主な種類があり、ワイルドカードの解釈に関する同じパフォーマンスの意味合い を持っているから
ん選択*:
ストアドプロシージャがコンパイルされたコード単位であるため、ストアドプロシージャでの使用に対して、ダイナミックT-SQLステートメントでワイルドカード解釈で使用された場合、Select * from <table/view>
はワイルドカード解釈に関して同じパフォーマンスを意味しますか?SQL Serverワイルドカード
SELECT *
は欠点の3つの主な種類があり、ワイルドカードの解釈に関する同じパフォーマンスの意味合い を持っているから
ん選択*:
あなたの質問に答えるためには、それは少し離れて選んだする必要があります:
「ワイルドカード解釈に関する意味」とはどういう意味かわかりませんが、SELECT *が悪い考えであると誤解していると思われます。 「拡張」ワイルドカードのコストは、ストアドプロシージャがストアドプロシージャが実際に「コードのコンパイル単位」でないコード
のコンパイル単位であることを本質的に与えられた0
あります。ストアド・プロシージャの問合せ計画は、通常は最初に実行された後にキャッシュされますが、多くの/ほとんどの状況でも同様のアドホックSQL文が実際に適用されます。 はいのように、アドホックSQLで
SELECT *
を使用した場合の短所も、同様にストアドプロシージャ内のSQLに適用されます。
私は、内部結合がある場合、select *を使用するときに必要以上の列を返し、リソースを無駄にしてしまうということを指摘します。結合列は定義によって繰り返されます。 – HLGEM
あなたの質問は非常に不明です。いくつかの例が役に立ちます。 – Oded
質問が投票されたのはなぜですか? – klork
私は理解していない理由のために時には投票しすぎることがあります。 – Paparazzi