top of page

Sql'de Tabloların indexlerini tekrar oluşturmak

  • Yazarın fotoğrafı: Yunus KÖSE
    Yunus KÖSE
  • 14 Mar
  • 1 dakikada okunur

Öncelikle sql server'da hangi tabloların % kaç oranında bozulduğunu gösteren sorgu aşağıdaki gibidir;


SELECT

DB_NAME() AS VeriTabaniAdi,

OBJECT_NAME(IPS.object_id) AS TabloAdi,

SI.name AS IndeksAdi,

IPS.index_type_desc AS IndeksTuru,

IPS.avg_fragmentation_in_percent AS BozulmaOrani,

IPS.page_count AS SayfaSayisi

FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'LIMITED') IPS

JOIN sys.indexes SI ON IPS.object_id = SI.object_id AND IPS.index_id = SI.index_id

WHERE IPS.index_id > 0

ORDER BY BozulmaOrani DESC;


Sonrasında

Bir sql veritabanında çok fazla yavaşlama varsa indexlerin düzelmesi için aşağıdaki kodu çalıştırmanız yeterli olacaktır.


ALTER INDEX ALL ON YKYAZILIMDB.dbo.TABLOADI REBUILD; --Tek Tablo

EXEC sp_MSforeachtable 'ALTER INDEX ALL ON ? REBUILD'; --Tüm Tablolar

ALTER INDEX ALL ON YKYAZILIMDB.dbo.TABLOADI REBUILD WITH (ONLINE = ON); -- Sql Enterprise gerektirir



Son Yazılar

Hepsini Gör

Comments


Tel: 0 535 508 91 34

Remel Plaza, 106,

Muratpasa/Antalya

  • Facebook
  • Twitter
  • LinkedIn

© 2024 by YK Yazılım. Güçlü ve güvenilir yazılım.

bottom of page