Collections:
What Is Index Fragmentation in SQL Server
What Is Index Fragmentation in SQL Server?
✍: FYIcenter.com
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 "fyi_links_indexed":
USE FyiCenterData
GO
SELECT COUNT(*) FROM fyi_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'FyiCenterData'),
OBJECT_ID(N'fyi_links_indexed'),
DEFAULT, DEFAULT, DEFAULT) s, sys.indexes i
WHERE s.object_id = i.object_id
AND s.index_id = i.index_id;
GO
index_id name avg_fragmentation_in_percent
0 NULL 0.574712643678161
2 fyi_links_url 0
3 fyi_links_counts 0
Since there is no clustered index (index_id=0) on this table, the first row in the return is just a place holder.
The other two rows show that "fyi_links_url" and "fyi_links_counts" have zero fragmentation, since they were created not long ago.
⇒ What Causes Index Fragmentation in SQL Server
⇐ CREATE INDEX - Impact on Other User Sessions in SQL Server
2016-11-08, 3010🔥, 0💬
Popular Posts:
How To Generate CREATE VIEW Script on an Existing View in SQL Server? If you want to know how an exi...
How To Assign Debug Privileges to a User in Oracle? In order to run SQL Developer in debug mode, the...
How To Look at the Current SQL*Plus System Settings in Oracle? If you want to see the current values...
What Is the Difference Between GETDATE() and GETUTCDATE() in SQL Server Transact-SQL? The difference...
How To Drop an Index in Oracle? If you don't need an existing index any more, you should delete it w...