問題タブ [indexed-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 に答える
279 参照

sql-server - インデックス付きビューを使用した SQL Server での基本的なイベント ソーシング

SQL Server を使用して非常に基本的なイベント ソーシングを実装しようとしています。ライブラリも、他のサーバーも、特別なものもありません。SQL Server を使用する基本から始めてください。

次のテーブルがあるとします。

結果が次のようになるように、名前でグループ化された最新のデータを表示するビューを作成したいと思います。

簡単に、CREATE VIEW Latest AS SELECT t1.* FROM table t1 JOIN (SELECT TOP 1 Id FROM table ORDER BY CreatedOn DESC, Id DESC) t2 ON t2.Id = t1.Id;

これで、テーブルに何百万もの行があり、ビューで多数の同時読み取りが行われることになります。それで、インデックスを付けたいと思います(SQL Server Indexed Views)。インデックス付きビューには派生テーブルまたは TOP OR MAX OR 自己結合を含めることができないため、ここでは運が悪いようです。

インデックス付きビューを作成する方法について何か考えはありますか?

それが不可能な場合は、テーブル内の IsLatest BIT 列を更新する INSTEAD OF トリガーを使用し、このフィルターに基づいてインデックス付きビューを作成できます。

他の提案はありますか?

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

sql - インデックス付きビュー: インデックス ビューを使用して他のテーブルに値を挿入する方法は?

私のテーブル:

どのように見えるか:

私のデータ

Amount_Monthly を新しいテーブルに自動的に挿入したいので、次のようになります。

私の月表

たとえば、In_Months = 2 と表示されている場合、1 月と 2 月の Balance_monthly を 7058,82 に入力する必要があります。自動で計算してほしい入力に応じてremaining_daysを自動で計算するようにしました。

ありがとうございました!

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

sql - いくつかの子行の要約を含む Sql Server インデックスを作成できますか?

Sql Server 2016 で、単純な親子関係を要約するインデックス付きビュー (または同等のもの) を作成することは可能ですか?

例えば:

そして、このような結果..例:

これを SQL クエリとして記述した場合は、次のようになります (これはインデックスが作成されておらず、回答全体を「計算」する必要があると想定しています)。

「INDEXED」ビューを求めている理由は、計算がディスクに保存されていると想定しているため、結果を計算するのではなく、インデックスをスキャンして結果を取得するだけでよいからです。実行。

上記の例も悔やまれます(この質問の場合)。実際には、より大きなテーブル構造などがあります。

インデックス付きビューに特定のキーワードを含めることができないことは理解しています( @brentozar がブログ投稿でCOUNT述べたように) 。

私はこの問題を間違った方法で見ていますか? ここでは、SQL キャッシングについてはあまり回答したくありません。

(注: 多分私は別の NoSql db で多くの Map/Reduce クエリを実行してきました:))

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

sql-server - varchar(120) でクラスター化されたインデックス キーの長さの警告?

だから今日、いくつかのインデックス付きビューなどを作成する最適化を行っていて、この警告に出くわしました

警告!クラスター化インデックスの最大キー長は 900 バイトです。インデックス 'IX_...' の最大長は 8004 バイトです。大きな値の組み合わせによっては、挿入/更新操作が失敗します。

インデックスは

ビューは

ID は INT です

物理テーブルの aField は VARCHAR(120) です

したがって、インデックスの最大キー長は 120+4 バイトになるのではないでしょうか?

この警告が表示されるのはなぜですか?

有効ですか?