When a table grows large or huge in size it becomes really difficult to load
new data, remove old data, maintain indexes and queries involving this table,
and runs extremely slow. In this situation, we can partition the table, which
essentially breaks the table and its indexes into logically smaller chunks
called partitions. Further, with a partitioned table, maintenance works, lock
escalation settings and compression settings can be applied individually at each
partition rather than on a single huge table. Not only that, Query Optimizer
references only partitions needed to serve the query requests and eliminates the
partitions that don’t contain data needed by the query during query optimization
and execution, and also it uses parallelism to process multiple partitions in
parallel. SQL Server 2008 introduced partition table parallelism for
better performance and for better resource utilization (of modern
multi-processors hardware). With SQL Server 2012, we are now allowed to even
create up to 15K partitions on a single table.
In my last
article of the series, I discussed what partitioning in SQL Server is, the
different kinds of partitioning options available, why and when we should go for
partitioning and all of the benefits partition table/index provide. In this
article I am going to examine the different concepts of partitioning in SQL
Server and provide a step-by-step guide on creating a partition table/index. For more information click here.
No comments:
Post a Comment