What Is Index Fragmentation in SQL Server
What Is Index Fragmentation in 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 "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.
2016-11-08, 686👍, 0💬
How To Use GO Command in "sqlcmd" in SQL Server? "sqlcmd" is a command line client application to ru...
Where to find MySQL database server tutorials? Here is a collection of tutorials, tips and FAQs for ...
What are DDL (Data Definition Language) statements for tables in SQL Server? DDL (Data Definition La...
How To Find Out What Privileges a User Currently Has in Oracle? Privileges granted to users are list...
Where to find SQL Server database server tutorials? Here is a collection of tutorials, tips and FAQs...