Freigeben über


Another reason of Index logical fragmentation!

Problem Description:

Indexes gets fragmented soon after rebuilding index

Detailed description

You have a table with  index created on it.  Logical Fragmentation for the index comes to 99 %. You did re-indexing of the index with Rebuild option and after that logical fragmentation goes

down to 1-2% but within few minutes, fragmentation rises to high value.

Cause of the issue in our scenario

Index key is a GUID data type

Things to check

Please make sure that index key is not a GUID.  GUIDs if included in the index key causes index fragmentation in both clustered and non-clustered indexes.

A GUID key causes fragmentation because of its random generation of values. The point where insertion of a new record (in an index) occurs is determined by the value of the index key, so if the key

value is random, so is the point of insertion.

In my case, Clustered index key was on uniqueidentifier datatype(GUID).

The uniqueidentifier data type stores 16-byte binary values that operate as globally unique identifiers (GUIDs). A GUID is a unique binary number; no other computer in the world will generate a duplicate of that GUID value

Workaround

we can use NEWSEQUENTIALID to reduce fragmentation.

References - https://msdn.microsoft.com/en-us/library/ms190215(v=SQL.100).aspx

Written By :- Anmol Bhasin

Support Engineer, Microsoft SQL server Support

Reviewed By: – Akbar Farishta

Technical Lead, Microsoft SQL server Support