Download presentation
Presentation is loading. Please wait.
1
Partitioned Tables and Query Performance
2
The Obligatory Bio Page
Jay Robinson Senior Systems Engineer, Salesforce Marketing Cloud (formerly ExactTarget) PASS Program Manager Blog: downshiftdata.arksoftware.net
3
Come to Indianapolis! Pre-Cons
Jonathan Stewart - In-depth Guide to Visualization Ben Miller - Powershell Modules to make SQL Server easy Shannon Lowder - BIML Bootcamp
4
Concepts Common Use Cases Optimizer Issues and Query Tactics
Summary Concepts Common Use Cases Optimizer Issues and Query Tactics
5
Concepts Partition Function Assuming integer VALUES of 10, 20, 30...
CREATE PARTITION FUNCTION {pf_name} ({param1}) AS RANGE LEFT|RIGHT FOR VALUES ({val1}, {val2}, ... {valN}); sys.partition_functions, sys.partition_parameters, and sys.partition_range_values Assuming integer VALUES of 10, 20, 30... RANGE LEFT: <= 10, 11 to 20, 21 to 30, > 30 RANGE RIGHT: < 10, 10 to 19, 20 to 29, >= 30
6
Concepts Partition Scheme
CREATE PARTITION SCHEME {ps_name} AS PARTITION {pf_name} TO ({fg1}, {fg2}, ... {fgN}); sys.data_spaces and sys.partition_schemes Number of filegroups must match number of values + 1
7
Concepts Partitioned Tables and Indexes
CREATE TABLE {t_name} ({column_defs}) ON {ps_name}({col_name}); sys.partitions and sys.dm_db_partition_stats
8
Concepts Aligned v Non-Aligned Indexes Partition Elimination
Whether or not the index’s partitioning matches the table partitioning Partition Elimination The optimizer’s act of limiting query processing to only relevant partitions
9
Use Cases for Partitioned Tables
Data Deprecation ALTER TABLE ... SWITCH followed by TRUNCATE TABLE SQL Server 2016: WITH PARTITIONS ETL Operations (e.g. OLTP to OLAP) Migration Tasks (e.g. adding compression) Improved Write Performance (striping)
10
If you know the partition, use the partition function
DEMO Scenario 1 Partitioning By Date If you know the partition, use the partition function
11
Don’t rely on the partition function
DEMO Scenario 2 Using a Persisted Computed Column Don’t rely on the partition function
12
For discrete values, lead with the partitioned column
DEMO Scenario 3 Leading with the Computed Column For discrete values, lead with the partitioned column
13
Introducing Non-Clustered Indexes
DEMO Scenario 4 Introducing Non-Clustered Indexes The optimizer isn’t always right
14
Spanning Multiple Partitions
DEMO Scenario 5 Spanning Multiple Partitions Treat each partition independently
15
Microsoft Connect Issue #240968
16
Where do we go from here? MSDN (duh!) Video: @Kendra_Little
@BrentO sqlcommunity.slack.com And, as always, #sqlhelp
17
Thank You! "When I look fast, I'm not smooth and I am going slowly. And when I look slow, I am smooth and going fast." - Alain Prost Jay Robinson Blog: downshiftdata.arksoftware.net
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.