問題タブ [materialized-views]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2974 参照

sql-server - SQL Serverのインデックス付きビュー(=マテリアライズドビュー)のオンデマンド更新モード?

Oracleは、マテリアライズド・ビューに対していくつかのリフレッシュモード・オプションを提供していることを知っています(オンデマンド、コミット時、定期的)。Microsoft SQLServerは、インデックス付きビューに対して同じ機能を提供しますか?

そうでない場合、データを毎日+オンデマンドでエクスポートすることが目的であり、パフォーマンスのオーバーヘッドの問題を回避したい場合、SQLServerでインデックス付きビューを使用するにはどうすればよいですか?回避策はありますか?

0 投票する
1 に答える
603 参照

sql-server - 結合を使用したビューの SQL Server インデックス付きビューの一致が機能しない

SQL Server 2008 R2 がクエリへの結合を含むインデックス付きビュー (マテリアライズド ビューとも呼ばれます) を自動的に照合できる場合の経験はありますか?

たとえば、ビュー

まったく同じクエリに自動的に一致させることはできません。このビューから直接選択すると、with (noexpand)実際には、インデックス付きビューのクラスター化インデックスをスキャンするはるかに高速なクエリ プランが得られます。SQL Server にこのマッチングを自動的に行わせることはできますか? かなりの数のクエリとビューがあり、OR マッパーを使用しているため、インデックス付きビューを毎回手動で参照したくありません。

SQL Server 2008 R2 のエンタープライズ エディションを使用しています。

編集:解決策を見つけました。SQL Server 2008 R2 は、3 つ以上の結合を持つインデックス付きビューを自動的に照合しません。おそらく、最適化プロセスが非常に遅くなるでしょう。

編集 2: 質問が私によって作成されてから 2 年後にこれを確認すると、私の結論は正しくないと思います。マテリアライズド ビューのマッチングは非常に脆弱なプロセスであり、何年にもわたって見つけた明確なルールはありません。

確かに、次のような役割があります。

  • 結合数
  • 述語の存在
  • ビューとクエリの両方での結合順序
0 投票する
1 に答える
1573 参照

materialized-views - マテリアライズドビューと同義語

マテリアライズドビューと同義語の長所と短所を誰かが言うことができますか?

よろしく、クリスタプス

0 投票する
4 に答える
2259 参照

sql - MySQL VIEW と埋め込みクエリ、どちらが速いですか?

ビューを使用して MySQL 埋め込みクエリを最適化しようとしていますが、効果があるかどうかはわかりません。

私はそれを次のように変換したい:

SQL Server の「インデックス付きビュー」については聞いたことがありますが、MySQL についてはよくわかりません。どんな助けでも大歓迎です。ありがとう!

0 投票する
1 に答える
3379 参照

sql - ビューに主キーを設定することは可能ですか?

SQLServer 2008のビューに主キーを設定することは可能ですか?

0 投票する
1 に答える
1288 参照

sql - sqllink を介して SQL Server テーブルのマテリアライズド ビューを oracle に設定できますか?

Oracle データベースに表示する必要がある SQL Server データベースにテーブルがあります。sqllink で通常のビューを使用しようとしましたが、そのビューで onUpdate トリガーを作成できません。

マテリアライズド ビューの場合はトリガーを作成できると読みましたが、異なるデータベース間でトリガーを実行できるかどうかについての情報が見つかりません。(すべての例はオラクルからオラクルのテーブル用です)

それが可能かどうか誰かに教えてもらえますか?マテリアライズド ビューを使用した場合、どのような問題に注意する必要がありますか?

ありがとう

0 投票する
1 に答える
2985 参照

oracle - マテリアライズドビューのPCTとは何ですか?

リファレンスマニュアルで見ました。マテリアライズドビューのPCTとは何ですか?

「パーティション変更追跡」とは何ですか?

0 投票する
1 に答える
1042 参照

mysql - MySQL: マテリアライズド ビュー?

重複の可能性:
MySQL でインデックス付きビューを使用することは可能ですか?

MySQL はマテリアライズド ビューをサポートしていますか (非常に高速な SELECT パフォーマンスのため)?

もしそうなら、どうやって作成するのですか?

0 投票する
2 に答える
1684 参照

oracle - Oracle でマテリアライズド ビューの変更を追跡する

Oracle で具体化されたビューの変更を追跡する最良の方法は何ですか。トリガーが利用可能であり、CDC が具体化されたビューでは機能しないようです。賢い解決策はありますか?

ご協力いただきありがとうございます

ヨハネス

0 投票する
1 に答える
140 参照

sql - トリガーと FK 制約を使用して計算されたレコードのテーブルを維持することには、どのような欠点がありますか?

ロールを含むテーブルがあります。多くのユーザーを役割に割り当てることができます。パーミッションをロールに割り当てることができ、そのロールにすべてのユーザーにパーミッションを付与できます。

500 百人の役割に権限を割り当てると、実質的に 500 の権限割り当てが作成されました。

ロールに割り当てられた各アクセス許可について、そのロールを持つ各個人が持つアクセス許可の種類を決定する際に実行する必要がある複雑な計算を指定します。たとえば、「READ_EMAIL」パーミッションを「ACCOUNTANT」ロールに割り当てる場合、その際、許可するメールボックス タイプを指定する変数も含めます。それらの特定のグループへのアクセス。

したがって、どの個人がどの特定のメールボックスにアクセスできるかを知りたい場合は、アクセス許可、ロール、およびユーザーのテーブルに参加するだけでなく、検索を行う必要があります。理由については、ここのスペースでは説明するのが難しいため、時間がかかります消費し、速くすることはできません。

私が遭遇する問題は、計算されたすべてのアクセス許可の割り当てをビューで公開すると (これらすべてのテーブルを結合し、複雑で時間のかかる計算を実行する)、非常に長い時間がかかることです。

ユーザーを役割に割り当てるか、権限を役割に割り当てることによってアクティブ化されるトリガーを介して入力される、ユーザー役割権限テーブルを簡単に作成できることに気づきました。権限が役割に割り当てられると、その役割を持つ各個人のレコードが挿入され、その時点で複雑な検索が行われ、このテーブルに 500 のレコードが挿入されます。ユーザーがロールに割り当てられるたびに、権限と複雑なルックアップが生成されます。このテーブルからロール割り当てテーブルとアクセス許可割り当てテーブルへの外部キーが存在し、カスケード削除が行われます。

役割の割り当てに対するアクセス許可はまれであるため、大幅に遅くなっても問題ありません。私のテーブルへのアクセスの 99.99999% は SELECT です。

この方法の欠点はありますか? リアルタイムのデータが必要です。私は自分自身のオンコミットの具体化されたビューを設計しているだけですか? 他の提案はありますか?