Hai
Semua Indeks dalam database SQL Server akan terfragmentasi Setelah tabel terkait mendapat banyak pembaruan, hapus transaksi.
Jika indeks pada tabel terfragmentasi maka semua transaksi yang terkait dengan tabel tersebut akan menjadi sangat lambat. Jadi SQL Server DBA harus sering memantau indeks dan indeks mana yang terfragmentasi dan mana yang tidak seperti tangkapan layar berikut.
Anda dapat memeriksa indeks terfragmentasi dengan skrip berikut. Ketik nama database SQL Server dengan benar di baris pertama maka kueri akan menemukan indeks yang terfragmentasi.
declare @db int select @db=DB_ID('DEVECI')
select 'ALTER INDEX [' + i.name +'] on '+OBJECT_NAME(s.object_id)+' REBUILD WITH (ONLINE = ON)', objname = OBJECT_NAME(s.object_id), s.object_id, index_name= i.name, index_type_desc, avg_fragmentation_in_percent from sys.dm_db_index_physical_stats(@db,null,null,null,null) as s join sys.indexes i on i.object_id = s.object_id and i.index_id = s.index_id where avg_fragmentation_in_percent>30 order by avg_fragmentation_in_percent desc, page_count desc;