Partitioning is the database process or method where very large tables and indexes are divided in multiple smaller and manageable parts. SQL Server 2005 allows to partition tables using defined ranges and also provides management features and tools to keep partition tables in optimal performance.
Tables are partition based on column which will be used for partitioning and the ranges associated to each partition. Example of this column will be incremental identity column, which can be partitioned in different ranges. Different ranges can be on different partitions, different partition can be on different filegroups, and different partition can be on different hard drive disk to improve performance.
Partitions can be set up very easily using schemes and functions as well can manage very easily humongous tables separate indexes for each partition. This will lead to high performance gain. Partitioning can increase performance when hard disk speed is performance bottleneck, if CPU or RAM is bottleneck partitioning will not help much.
Reference : Pinal Dave (http://blog.SQLAuthority.com)





[...] 25, 2008 by pinaldave I have received call from my DBA friend who read my article SQL SERVER – 2005 – Introduction to Partitioning. He suggested that I should write simple tutorial about how to horizontal partition database table. [...]
[...] 25, 2008 by pinaldave I have received call from my DBA friend who read my article SQL SERVER – 2005 – Introduction to Partitioning. He suggested that I should write simple tutorial about how to horizontal partition database table. [...]
When do I use vertical partitioning?
Does vertical partitioning happen one subsystem at a time, one level at a time or if the horizontal partitioning breaks down?
Thank you.
hi Pinal,
i need to know the partition types. ?which partition is better .
on what basics i should select the partition type to partitioned my table…plz guide me
hi Pinal,
Percise and good presentation…
Below are my doubts.
1. Can we create partitioning, based on two columns?
2.Can you specify the significance of index on a partition table?
3.please let me know URLs for your subsequent articles on Partitioning
Hi,
If I want to have some sort of redundant mechanism for reporting purposes (let’s say I have a transactions table that I would like to have duplicated, so transactions are going in real time to the live table, and reports are getting from that other duplicated table) for performance and scalability reasons.
Is partitioning the table a viable solution?
If not, would anybody recommend me anything?
Thanks a lot,
I will appreciate your help.
Gerardo Melendrez
Hi Pinal,
Can you tell me please if partitioning can help with performance when data is stored on SAN? I think it might be useless, because even if I have different drives, they might reside on the same LUN. What do you think?
Thanks,
Alex
Is it possible to partition a table that already exists? I have a table which is 1/2 terabyte and would like to partition by year, but the table already exists.
Hi Pinal,
I’m facing problems that alex and Diana had (the very bottom two comments). Could you please answer those questions for me?
Thanks a lot.
Richard