Answers

Question and Answer:

  Home  MS SQL Server

⟩ What Is Index Fragmentation in MS SQL Server?

Index fragmentation is a phenomena where index contents are no longer stored continuously in the storage. When index contents become scattered in the storage, fragmented, performance on index will degrade.

If you want to see the fragmentation level of an index, you can use the system function called sys.dm_db_index_physical_stats() in the following format:

SELECT * FROM sys.dm_db_index_physical_stats(

database_id, table_id, index_id, DEFAULT, DEFAULT

)

The tutorial exercise below shows you how to view the fragmentation level of all indexes on table "ggl_links_indexed":

USE GlobalGuideLineDatabase

GO

SELECT COUNT(*) FROM ggl_links_indexed;

GO

100000

SELECT i.index_id, i.name, s.avg_fragmentation_in_percent

FROM sys.dm_db_index_physical_stats (

DB_ID(N'GlobalGuideLineDatabase'),

OBJECT_ID(N'ggl_links_indexed'),

DEFAULT, DEFAULT, DEFAULT) s, sys.indexes i

WHERE s.object_id = i.object_id

AND s.index_id = i.index_id;

GO

 143 views

More Questions for you: