This document provides an overview of a training module on columnstore indexes in SQL Server. It includes 3 lessons:
1. Introduction to columnstore indexes, including nonclustered and clustered columnstore indexes.
2. Creating columnstore indexes using Transact-SQL and SQL Server Management Studio.
3. Managing and working with columnstore indexes, including index fragmentation and columnstore indexes with memory optimized tables.
The document also includes a lab scenario where the student will optimize database workloads and reduce disk space usage in an Adventure Works data warehouse by creating columnstore indexes.
This document provides an overview of a training module on columnstore indexes in SQL Server. It includes 3 lessons:
1. Introduction to columnstore indexes, including nonclustered and clustered columnstore indexes.
2. Creating columnstore indexes using Transact-SQL and SQL Server Management Studio.
3. Managing and working with columnstore indexes, including index fragmentation and columnstore indexes with memory optimized tables.
The document also includes a lab scenario where the student will optimize database workloads and reduce disk space usage in an Adventure Works data warehouse by creating columnstore indexes.
This document provides an overview of a training module on columnstore indexes in SQL Server. It includes 3 lessons:
1. Introduction to columnstore indexes, including nonclustered and clustered columnstore indexes.
2. Creating columnstore indexes using Transact-SQL and SQL Server Management Studio.
3. Managing and working with columnstore indexes, including index fragmentation and columnstore indexes with memory optimized tables.
The document also includes a lab scenario where the student will optimize database workloads and reduce disk space usage in an Adventure Works data warehouse by creating columnstore indexes.
Creating Columnstore Indexes • Working with Columnstore Indexes Lesson 1: Introduction to Columnstore Indexes
What are Columnstore Indexes?
Nonclustered Columnstore Indexes Clustered Columnstore Indexes • Demonstration: The Benefits of Using Columnstore Indexes What are Columnstore Indexes? Nonclustered Columnstore Indexes
• Nonclustered Columnstore Indexes
• Contains some or all columns • Used in combination with rowstore tables • Updatable • Can be filtered • Uses more space than just a rowstore Clustered Columnstore Indexes
• Clustered columnstore indexes
• Must contain all columns • Optimize data for storage and performance • Row based indexes can be added • Cannot be filtered Demonstration: The Benefits of Using Columnstore Indexes
• In this demonstration, you will see how to create
a columnstore index Lesson 2: Creating Columnstore Indexes
Creating a Nonclustered Columnstore Index
Creating a Clustered Columnstore Index Creating a Clustered Columnstore Table with Primary and Foreign Keys • Demonstration: Creating Columnstore Indexes Using SQL Server Management Studio Creating a Nonclustered Columnstore Index
• Create columnstore indexes using Transact-SQL
• CREATE NONCLUSTERED COLUMNSTORE INDEX
• Create columnstore indexes using SSMS
• Databases • AdventureWorksDW • Tables • FactFinance • Right-click Indexes • New index • Nonclustered Columnstore Index Creating a Clustered Columnstore Index
• Create a clustered columnstore index
• CREATE CLUSTERED COLUMNSTORE INDEX • SSMS • New Index • Clustered Columnstore Index Creating a Clustered Columnstore Table with Primary and Foreign Keys Demonstration: Creating Columnstore Indexes Using SQL Server Management Studio
In this demonstration, you will see how to:
• Create a nonclustered columnstore index using SSMS • Create a clustered columnstore index using SSMS Lesson 3: Working with Columnstore Indexes
Managing Columnstore Indexes
Index Fragmentation • Columnstore Indexes and Memory Optimized Tables Managing Columnstore Indexes Index Fragmentation
• Use sys.dm db index_physical stats to determine
index fragmentation • Reorganize • Fragmentation between 5% and 30% • Rebuild • Fragmentation greater than 30% Columnstore Indexes and Memory Optimized Tables
In-memory columnstore tables
• The index has to be declared at runtime • Tables can be up to 2 TB in size • Can be combined with rowstore index • Enable real-time operational analytics
Memory Optimization Advisor can be used to
support moving a table from being disk based to being memory-optimized. Lab: Using Columnstore Indexes
Exercise 1: Create a Columnstore Index on the
FactProductInventory Table Exercise 2: Create a Columnstore Index on the FactInternetSales Table • Exercise 3: Create a Memory Optimized Columnstore Table Logon Information Virtual machine: 20762C-MIA-SQL User name: ADVENTUREWORKS\Student Password: Pa55w.rd
Estimated Time: 45 minutes
Lab Scenario
Adventure Works has created a data warehouse
for analytics processing of its current online sales business. Due to large business growth, existing analytical queries are no longer performing as required. Disk space is also becoming more of an issue.
You have been tasked with optimizing the existing database workloads and, if possible, reducing the amount of disk space being used by the data warehouse. Lab Review
• Why do you think the disk space savings were so
large for the disk based clustered columnstore index? Module Review and Takeaways