Page History
...
Depending on the policy settings you select, SQL Defrag Manager defragments tables and indexes in one of the following ways:
Rebuild
The To rebuild the indexes on tables, the rebuild defragmentation type option uses the DBCC DBREINDEX command to rebuild the indexes on the tables. ALTER INDEX REBUILD
command for SQL Server 2005 and newer versions. For SQL Server 2000 it uses DBCC DBREINDEX
. The rebuild operation creates new, contiguous pages. SQL Server 2005/2008 allows the option to Rebuild Online, which allows access to the tables before the operation is finished. However, choosing to rebuild online requires more resources (disk space, CPU, memory), and may slow performance.
Reorganize
The reorganize defragmentation type uses the DBCC INDEXDEFRAG command to To reorder the leaf pages of the index in-place, the reorganize defragmentation option uses the ALTER INDEX REORGANIZE
command for SQL Server 2005 and newer versions. For SQL Server 2000 it uses DBCC INDEXDEFRAG
. This process is similar to a bubble sort. Although the pages are physically reordered, they may not be contiguous within the data file. This issue can cause interleaved indexes, which need to be rebuilt to store them in contiguous pages.
Info |
---|
Online index operations are available only in SQL Server DatacenterData center, Enterprise, Developer, and Evaluation editions. |
...
In addition to reordering the leaf pages of the index, SQL defrag manager Defrag Manager compacts the data in the pages using the original fillfactor fill factor value specified for the table and then removes any empty pages. Consider the following conditions related to this compaction phase:
- Compaction is completely skipped if the Inhibit Page Locks property is set for the index.
- There are various algorithms built into the compaction phase to stop unnecessary work. For example, if the first page in the index is empty and all the other pages are full, SQL Server does not repeatedly move all the data forward one page.
- SQL Server compacts pages back to the fillfactor fill factor value defined for the index. Make sure this value is not set too high. For more information, see the SQL Server documentation.
- If a lock cannot be obtained on a page during the compaction phase of DBCC INDEXDEFRAG, SQL Server skips that page.
...
Interleaving occurs when an index extent, which is a group of eight index pages, is not physically contiguous because an extent for another index is intermingled with it. This condition can happen even when there is no logical fragmentation in the index. Although the pages may be physically and logically ordered, they are not necessarily contiguous. Switching between extents can impact performance as data access is inefficient. To resolve this issue, use SQL defrag manager Defrag Manager to rebuild the indexes to store them in contiguous pages and reduce the need to switch between extents.
Need more help? Search the IDERA Customer Support Portal
...
...