Index etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Index etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2016-03-09

Tablodaki İstatistikler En Son Ne Zaman Güncellendi?

Bir tabloda bulunan istatistiklerin en son ne zaman güncellendiğini ve ilgili istatistiğin hangi index yada alan üzerinde olduğunu aşağıdaki T-SQL ile bulabilirsiniz:

select
object_name(s.object_id) as TableName,
ic.name as ColumnName,
stats_date(s.object_id, s.stats_id) as StatisticsUpdate,
s.name as StatisticsName
from sys.stats s inner join sys.stats_columns sc on s.object_id=sc.object_id and s.stats_id=sc.stats_id
inner join sys.columns ic on ic.object_id=sc.object_id and ic.column_id=sc.column_id
where s.object_id=object_id(SchemaAdi.TabloAdi')

-- Yukarıdaki T-SQL SQL Server 2012/2014 sürümlerinde test edildi.

2014-07-23

Index İstatistikleri Ne Zaman Sıfırlanır?

SQL Server 2012 öncesi versiyonlarda bir tablonun index istatistiği SQL Server servisi restart olduğunda yada index drop/create olduğunda sıfırlanırdı. SQL Server 2012 ile birlikte bu durumlara ek olarak index rebuild olduğunda da index istatistiği sıfırlanıyor. Index istatistiğine bakılırken SQL Server 2012 ile birlikte gelen bu değişikliğin göz önüne alınmasında yarar var.

2013-12-11

Partition Scheme Bulma

Veritabanızda bulunan tabloların ve indekslerin bulunduğu partition scheme'ya aşağıdaki T-SQL ile bulabilirsiniz:

2012-02-20

Bir Tablodaki İndekslerin Page Sayısını Bulma

Bu yazımda sizlere, zaman zaman benim de ihtiyaç duyduğum bir konuya değineceğim: Bir tabloda bulunan indeklerin her birisinin toplam page sayısı bulma.

2011-10-20

SQL Server Öncüleri Lansmanı

Tarih : 21 Ekim 2011 Cuma
Saat :  09.00 - 16.15
Yer  :  Microsoft İstanbul Ofisi
Jüpiter Toplantı Salonu
Bellevue Residance
Aydın Sok No:7 Levent

Küresel çapta faaliyet gösteren, en büyük SQL Server topluluğu SQL Pass’ın (Professional Association for SQL Server) Türkiye Şubesi olarak çalışmaya başlayan SQL Server Öncüleri, tanıtım toplantısına sizleri de davet ediyor.

2011-03-27

Fragmente Indeksleri Rebuild Etme

İndekslerin fragmente olması istenmeyen bir durumdur. Fragmente olan indexlerin belirli periyotlarda rebuild/reorganize edilmesi gerekir.

Veritabanızda fragmente oranı %30 un üzerinde üzerinde olan indeksleri bulup rebuild eden T-SQL kod aşağıdaki gibidir:

declare @SQLstmt varchar(max)

set @SQLstmt =''
select @SQLstmt =@SQLstmt + 'alter index ' + i.name + ' on ' + object_name(s.object_id ) + ' rebuild with(online=on);--pagecount:' + cast(s.page_count as varchar(16)) + '
'
from sys.dm_db_index_physical_stats(db_id(db_name()),null,null,null,null) s
inner join sys.indexes i on s.object_id=i.object_id and s.index_id=i.index_id
where s.avg_fragmentation_in_percent>30
and s.index_id>0
order by s.page_count

exec(@SQLstmt )

Dilerseniz aynı işlemi dinamik tek bir SQL cümlesi yerine cursor ile de halledebilirsiz.

2010-11-11

Index Fragmentation

Bir tablo yada view'daki index ve data fragmantasyonunu sys.dm_db_index_physical_stats DMV'si ile alabilirsiniz.

Örnek-1: Test adlı veritabanımızdaki musteri adlı tablomuzun fragmantasyonu aşağıdaki SQL kodu ile alabiliriz:

select * from sys.dm_db_index_physical_stats(db_id('Test'),object_id('musteri'),null,null,null)

Örnek-2: Test adlı veritabanımızdaki tüm tablo ve view'lerimizin fragmantasyonu aşağıdaki SQL kodu ile alabiliriz:

select * from sys.dm_db_index_physical_stats(db_id('Test'),null,null,null,null)

Örnek-3: Tüm veritabanlarımızdaki tüm tablo ve view'lerimizin fragmantasyonu aşağıdaki SQL kodu ile alabiliriz:

select * from sys.dm_db_index_physical_stats(null,null,,null,null,null)

Fragmente oranı %30 dan büyük olan indexlerinizi rebuild etmenizi; %10-%30 arasında olan indexlerinizi ise reorganize etmenizi tavsiye ederim.

.::YASAL UYARI::.

©2004-2023 Mehmet GÜZEL, www.mehmetguzel.net

Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.