web-dev-qa-db-ja.com

テーブル全体をインポートする場合の「SQLコマンド」と「テーブルまたはビュー」

OLEDBソースエディタを使用する場合、entireテーブルが必要なときに、「テーブルまたはビュー」よりも「SQLコマンド」を使用した方がパフォーマンス上の利点や違いはありますか?

これは this question のバリエーションです。ここで、質問者はoneまたはsomeテーブル内の列-この場合、「SQLコマンド」を使用する利点があります。列が選択されていなくても、「テーブルまたはビュー」を使用すると、select * fromがバックグラウンドで実行されるためです。

私は MSDNブログのこのエントリ も見つけました。これは、viewsを使用することにより、より効率的に表示されることを示しています。 OpenRowsetSET ROWCOUNT 1の組み合わせにより、非効率的なクエリプランがキャッシュされ、実際の実行に再利用されます。

しかし、テーブルにロードしていて、すべての列が必要な場合、 「SQLコマンド」オプションを使用することには、「テーブルまたはビュー」よりも利点がありますか?

5
Kai

製品の過去のある時点で、ドロップダウンからテーブル名を選択するのではなく、明示的にSELECT * FROM MyTableを書き込むと、実行される操作が1つ少なくなりました。テーブル名の選択が行われました...今は再現できません。それはSELECT *を生成したかのようにコマンドを発行しますが、その周りに外側のラッパーがあります。

プロファイラーは2014年を報告し、コマンドselect * from [SB].[EventLog]を発行しました。2005/ 2008インスタンスは、sp_somethingweird [SB].[EventLog]

1
billinkc