Administering Microsoft SQL Server 2012/2014 Databases — Question 11
You are implementing the indexing strategy for a fact table in a data warehouse.
The fact table is named Quotes.
The table has no indexes and consists of seven columns:
✑ [ID]
✑ [QuoteDate]
✑ [Open]
✑ [Close]
✑ [High]
✑ [Low]
✑ [Volume]
Each of the following queries must be able to use a columnstore index:
✑ SELECT AVG ([Close]) AS [AverageClose] FROM Quotes WHERE [QuoteDate] BETWEEN '20100101' AND '20101231'.
✑ SELECT AVG([High] - [Low]) AS [AverageRange] FROM Quotes WHERE [QuoteDate] BETWEEN '20100101' AND '20101231'.
✑ SELECT SUM([Volume]) AS [SumVolume] FROM Quotes WHERE [QuoteDate] BETWEEN '20100101' AND '20101231'.
You need to ensure that the indexing strategy meets the requirements.
The strategy must also minimize the number and size of the indexes.
What should you do?
Answer options
- A. Create one columnstore index that contains [ID], [Close], [High], [Low], [Volume], and [QuoteDate].
- B. Create three coiumnstore indexes: One containing [QuoteDate] and [Close] One containing [QuoteDate], [High], and [Low] One containing [QuoteDate] and [Volume]
- C. Create one columnstore index that contains [QuoteDate], [Close], [High], [Low], and [Volume].
- D. Create two columnstore indexes: One containing [ID], [QuoteDate], [Volume], and [Close] One containing [ID], [QuoteDate], [High], and [Low] C
Correct answer:
Explanation
The correct answer is C because a single columnstore index including [QuoteDate], [Close], [High], [Low], and [Volume] efficiently satisfies all query requirements while minimizing index size and number. Option A is incorrect as including [ID] is unnecessary for the aggregations, while options B and D create multiple indexes, which contradicts the requirement to minimize the number of indexes.