In this post, I am sharing one T-SQL script to find an average percentage of index fragmentation in SQL Server.
When we are not getting the desired performance of the index, we should check the average percentage of Index Fragmentation.
The non-clustered index data stores into different pages, so there is always a chance of fragmentation.
I have prepared one script to find index fragmentation, and if you find index fragmentation, you should execute INDEX REBUILD or INDEX REORGANIZE on highly fragmented indexes to achieve the defragmentation.
SELECT object_name(ips.object_id) AS TableName
,i.name AS IndexName
,ips.index_type_desc AS IndexType
FROM sys.dm_db_index_physical_stats (DB_ID(),NULL, NULL, NULL ,NULL) AS ips
INNER JOIN sys.indexes AS i ON ips.OBJECT_ID = i.OBJECT_ID
AND ips.index_id = i.index_id