I have a very large table with enormous percentage of index fragmentation( almost 98 % !). Obviously, it needs index rebuild. Main problem is my SQL Server is in Standard edition, thats why I cannot perform online index rebuild. The table has very high production priority and I can
t afford to get it offline. I want to try index reorganize several times, as it can be done online. My question is: do you think several reorganizes will be efficient way in order to low the fragmentation percentage ?
Sql-server – Index with high fragmentation percentage
fragmentationindexsql-server-2008
Related Question
- Sql-server – Disadvantages of reorganizing all tables nightly
- Sql-server – “Index Fragmentation Percent” a percentage of
- Sql-server – ONLINE vs OFFLINE index rebuilds
- MySQL indexes maintenance
- Sql-server – Does index rebuild time depend on the fragmentation level
- Sql-server – Fragmentation Level for Heaps
Best Answer
Short definition of Index Reorganize, made by Kendra Little:
Even single
reorganize
should be efficient in Your case, but remember that it depends on Your data (how well pages get filled with row data).Another advantage of
reorganize
in Your situation, other than being online operation, is that it can be stopped anytime (whileindex rebuild
would have to rollback), so it's great to combine with Ola Hallengren's Maintenance Solution options:TimeLimit
andWaitAtLowPriorityMaxDuration
withWaitAtLowPriorityAbortAfterWait
.One disadvantage of
reorganize
I could think of, is that it can't be used to rebalance data between db files (for whichindex rebuild
is often used).As for fragmentation itself, even that high level shouldn't have much of impact on performance. It should free up a lot of space in data files, though. Still, the best approach is to have index maintenance scheduled regularly, just don't stress over it.
Kendra Little wrote another article about dealing with fragmentation recently, it's worth reading.