6

テーブルからのSELECTデータとビューからのSELECTデータの違いは何ですか?
そして、それぞれの最良の使用法は何ですか?

4

4 に答える 4

4

Microsoft によると、SQL Server 2000/2005/2008 でインデックス付きビューを使用すると、パフォーマンスが向上します。

インデックス付きビューは、次の方法でクエリのパフォーマンスを向上させることが
できます。
2. テーブルを事前に結合し、結果のデータ セットを保存できます。
3.結合または集計の組み合わせを保存できます

ただし、テーブルのインデックスと同様に、ビューのインデックスにも変更のオーバーヘッドが発生します。そのため、実行時の速度向上の利点がビューのインデックスの更新にかかる時間を超える場合にのみ、ビューにインデックスを追加してください。

以下のリンクは、これに関する詳細情報を提供します (いつ何を使用するかについて)。

  1. SQL Server 2000/2005 インデックス付きビューのパフォーマンス チューニングと最適化のヒント
  2. SQL Server 2000 インデックス付きビューによるパフォーマンスの向上.
  3. SQL でインデックス付きビューを使用すると、パフォーマンスが向上します
于 2009-02-22T22:06:50.117 に答える
1

ほとんどのデータベースでは、機能的に互換性があります(マテリアライズド・ビューは無視されます。マテリアライズド・ビューは、とにかくまったく異なるものです)。ビューを作成する一般的な理由は2つあります。1.抽象化(および列エイリアシング)メカニズム、および2.アクセス許可とアクセス制御用。しかし、効率に関しては、それは問題ではありません。

于 2009-02-22T21:40:38.167 に答える
1

これは、データベースとビューの定義によって異なります。

列のエイリアスを作成したり、単純な計算を実行したりする単純なビューは、クエリを直接実行する場合と同じです。

ただし、場合によっては、ビューがはるかに遅くなることがあります。例:Oracleでは、ビュークエリをネストしすぎると(たとえば、あるビューが別のビューをテーブルとして使用したり、別のビューを使用したりするなど)、ひどいパフォーマンスが発生する可能性があります。

一般に、問題の特定のデータベースとクエリでテストする必要があります。

于 2009-02-22T21:43:01.843 に答える
0

このように考えてください:

ビューは、サーバー上に存在し、SQLエンジンによってコンパイルされた単なるselectステートメントです。

通常、ビューはテーブルからの結果を制限/簡略化するために使用されます。

よろしくK

于 2009-02-22T21:42:16.417 に答える