What is use of pad Indexs?

Posted on 2006-07-12
Medium Priority
Last Modified: 2010-06-16
I'm curious what is the use of Pad Index?? how it can boost sql server performance by enable this option? and what is the great advantages by using Pad Index?
Question by:motioneye
1 Comment
LVL 25

Accepted Solution

jrb1 earned 750 total points
ID: 17091480

One thing that I intentionally left out of the prior article was a description of fill factor and pad index, in order to keep focus on the problems of not having a clustered index on a table. One thing I did mention was that one slight disadvantage you might run into by having a clustered index on a table are the page splits that can occur when adding data (or sometimes when changing existing data) to the table. This is a part from that article:
"Because the data is stored in the order of the index, to insert a new row SQL Server must find the page with the two rows between which the new row shall be placed. Then, if there is not room to fit the row on that page, a split occurs and some of the rows get moved from this page to a newly created one."
As some of you readers commented, one way to counter this (at least to a degree) is to specify a value for the fill factor and possibly pad index for the clustered index. Fill factor specifies the percentage that SQL Server should fill every data page to when creating an index. Specifying a fill factor value of 50 therefore means that each data page will only be half full, in effect meaning that the storage space needed for the table is doubled (since there are twice as many data pages). The good thing is that page splits are not as necessary as with a higher fill factor, since there will usually be room on a page to insert a new row without splitting the page into two and moving rows between them. If fill factor is specified you can also specify the option to use pad index (it uses the same value as fill factor), which works in the same way as fill factor only it is used for index pages in the intermediate levels (between the root level and leaf level).
Note that both options are only used when creating or rebuilding an index. They are not maintained after initial 'filling' by SQL Server, as that would defeat the original purpose to use them, i.e. avoiding page splits (as SQL Server would have to use page splits to maintain them). Also note that these options apply for non-clustered indexes as well, the index pages of non-clustered indexes use page splits in the same way as clustered indexes of course. As always, think carefully and test the effects of changing the fill factor and pad index values.

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

In the first part of this tutorial we will cover the prerequisites for installing SQL Server vNext on Linux.
MSSQL DB-maintenance also needs implementation of multiple activities. However, unprecedented errors can hamper the database management. In that case, deploying Stellar SQL Database Toolkit ensures fast and accurate database and backup repair as wel…
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question