Book Image

Microsoft SQL Server 2012 Performance Tuning Cookbook

Book Image

Microsoft SQL Server 2012 Performance Tuning Cookbook

Overview of this book

As a DBA you must have encountered a slow running application on SQL Server, but there are various factors that could be affecting the performance. If you find yourself in this situation, don't wait, pick up this book and start working towards improving performance of your SQL Server 2012. SQL Server 2012 Performance Tuning Cookbook is divided into three major parts -- Performance Monitoring, Performance Tuning, and Performance Management--that are mandatory to deal with performance in any capacity. SQL Server 2012 Performance Tuning Cookbook offers a great way to manage performance with effective, concise, and practical recipes. You will learn how to diagnose performance issues, fix them, and take precaution to avoid common mistakes. Each recipe given in this book is an individual task that will address different performance aspects to take your SQL Server's Performance to a higher level.The first part of this book covers Monitoring with SQL Server Profiler, DTA, System statistical function, SPs with DBCC commands, Resource Monitor & Reliability, and Performance Monitor and Execution Plan. The second part of the book offers Execution Plan, Dynamic Management Views, and Dynamic Management Functions, SQL Server Cache and Stored Procedure Recompilations, Indexes, Important ways to write effective TSQL, Statistics, Table and Index Partitioning, Advanced Query tuning with Query Hints and Plan Guide, Dealing with Locking, Blocking and Deadlocking and Configuring SQL Server for optimization to boost performance.The third and final part gives you knowledge of performance management with help of Policy Based Management and Management with Resource Governor.
Table of Contents (28 chapters)
Microsoft SQL Server 2012 Performance Tuning Cookbook
Credits
About the Authors
Acknowledgement
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Partitioning a table with RANGE LEFT


Let's suppose that you are required to design a database and there is one particular table that is expected to contain millions of rows. To improve the performance, you decide to partition this particular table based on ID column (identity column) in such a way that each partition contains a certain number of rows, rather than having all the millions of rows in one single table. Initially, you decide to start with four partitions, so that they contain rows as follows:

  • Partition 1: Rows with ID values greater than or equal to 0

  • Partition 2: Rows with ID values from 1 to 1,000,000

  • Partition 3: Rows with ID values from 1,000,001 to 2,000,000

  • Partition 4: Rows with ID values from 2,000,001 to 3,000,000

However, in our case, partition 1 is never going to contain any rows, because the value in the ID column will start from 1, increasing by 1, and partition 1 will always remain empty; it is still a good idea to have this partition range for scalability and the future...