0

現在、SQL Server 70-461 の認定に向けて取り組んでいます。現在、いくつかの演習テストに取り組んでおり、インデックス付きビューの要件に関する質問に遭遇しました。GROUP BY 句を使用する場合、インデックス付きビューには SCHEMABINDING と COUNT_BIG(*) が必要であり、インデックスをクラスター化する必要があり、これによりデータが実体化されることを理解しています。

CREATE VIEW VW_Test
AS
SELECT ColumnA, ColumnB FROM Table
WHERE ColumnC > 200

サンプルの質問では、インデックスは ColumnA に作成されます。ColumnB と ColumnC はどちらも計算列です。

問題は、ColumnB と ColumnC の要件は何ですか?

  • 確定的
  • 正確
  • PERSISTED とマーク

残念ながら、私のトレーニング資料では、この文脈でこれらの用語に出くわしていないので、それらが何を意味するのかについてのガイダンスを教えていただければ、そこから理解することができます.

4

1 に答える 1

1

決定論的: 計算列によって参照される関数を参照します。決定論的関数は、同じ入力が与えられた場合、常に同じ値を返します。たとえば、SUM は決定論的ですが、GETDATE はそうではありません。

正確: float 式を含まない決定論的式。

PERSISTED のマーク: 計算列を構築する場合、計算列が参照時にオンザフライで再計算されるのではなく、物理的にデータベースに格納されるように、計算列を 'PERSISTED' としてマークするオプションがあります。

列 B および C の要件に関する質問自体に関しては、次のことが当てはまるように思われます。

「キー列、およびインデックス付きビューの WHERE または GROUP BY 句に参加できるのは、正確な決定論的式だけです。」 インデックス付きビューを作成する

于 2015-11-17T13:36:57.673 に答える