データベースの主なコンポーネントはテーブルであり、データにアクセスできるようにカスタマイズする場合には、ビューの概念があります。言い換えれば、テーブルのビューを通じて、ユーザーがアクセスすべきデータにのみアクセスするように制限できます。ここで、ビューの機能と特性に基づいて、ビューとマテリアライズド ビューを区別できます。
この記事では、SQL におけるビューとマテリアライズド ビューの重要な違いについて説明します。ただし、その前に、ビューとマテリアライズド ビューの違いをよりよく理解するために、ビューとマテリアライズド ビューの基本を個別に見てみましょう。 .
SQL でのビュービューは、「select query」ステートメントを実行することによって作成されるテーブルの論理コピーおよび仮想コピーです。ビューはディスク上のどこにも保存されません。したがって、クエリは毎回、特定のデータが必要な場合に実行されますが、クエリ式はディスクに保存されます。
ビューには、ストレージ/更新コストがかかりません。ビューは特定のスキーマに従って設計されます。つまり、ビューを定義する SQL 標準が存在します。ビューは、データへのアクセスは頻繁ではないが、データを頻繁に更新する必要がある場合に使用されます。 SQL のマテリアライズド ビューマテリアライズド ビューは、内容が計算されて保存されるビューです。マテリアライズド ビューも論理仮想テーブルですが、この場合、クエリの結果はテーブルまたはディスクに保存されます。パフォーマンスマテリアライズド ビューの方が通常のビューよりも優れています。これは、データがディスクに保存されているためです。
マテリアライズド ビューは、クエリの後に作成されるテーブルにインデックスが付けられ、より高速かつ効率的にアクセスできるため、「インデックス付きビュー」とも呼ばれる場合があります。マテリアライズド ビューは、データに頻繁にアクセスする必要があり、テーブル内のデータが頻繁に更新されない場合に使用されます。 SQL におけるビューとマテリアライズド ビューの違い 次の表は、ビューとマテリアライズド ビューの重要な違いを示しています −閲覧数 | マテリアライズド ビュー | ######意味######技術的には、テーブルのビューは「選択クエリ」によって作成されたテーブルの論理仮想コピーですが、結果はディスクに保存されません。 | データが必要になるたびにクエリを実行する必要があるため、ユーザーは常に元のテーブルから更新されたデータまたは最新のデータを取得することになります。
---|---|---|
######ストレージ###### | ビューでは、クエリ式の結果のタプルはディスクに保存されず、クエリ式のみがディスクに保存されます。マテリアライズド ビューの場合、クエリ式とクエリ結果のタプルの両方がディスクに保存されます。 | |
クエリ式は結果ではなくディスクに保存されるため、ユーザーがデータを抽出しようとするたびにクエリ式が実行され、ユーザーは毎回最新の更新値を取得します。 | クエリの結果はディスクに保存されるため、ユーザーがデータをフェッチしようとするたびにクエリ式が実行されるわけではありません。そのため、データベースで値が変更された場合、ユーザーは最新の更新値を取得できません。######費用対効果###### | ビューにはストレージ コストが関連付けられていないため、更新コストも関連付けられていません。|
######デザイン###### | SQL のビューは、ビューを定義する SQL 標準があるため、固定アーキテクチャ アプローチで設計されています。SQL のマテリアライズド ビューは汎用アーキテクチャ アプローチで設計されているため、それを定義するための SQL 標準はなく、その機能は一部のデータベース システムによって拡張機能として提供されます。 | |
マテリアライズド ビューは、データに頻繁にアクセスする必要があり、テーブル内のデータが頻繁に更新されない場合に使用されます。 | ###結論は### | SQL では、ビュー (ビュー) とマテリアライズド ビュー (マテリアライズド ビュー) は大きく異なります。ビューは、データがほとんどアクセスされず、テーブル内のデータが頻繁に更新される場合に使用されます。逆に、データに頻繁にアクセスする必要があり、テーブル内のデータが頻繁に更新されない場合は、マテリアライズド ビューを使用します。 |
以上がSQL のビューとマテリアライズド ビューの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。