Filtrelenmiş indexlerle ilgili güzel bir yazı

Filtrelenmiş indexlerin nimetlerini araştırırken bulduğum güzel bir yazıyı  paylaşmak istiyorum. Aslında belli bir kritere göre nunclustered indexleri silme ile ilgili bir yazı arıyordum. Baktım güzel bilgiler var okuma ve paylaşma gereği hissettim. Buyrun (bu yazınınöncüsü de var aslında)

Sql Server Index Boyutlarını Tespit Etme

Sql server veritabanı üzerindeki tablolara koyduğunuz indexlerin KB cinsinden nekadar alan kapladığını siz de merak etmişsinizdir. İşte size bunu tespit edebileceğiniz sorgu. Pinal Dave’in sayfasından alıntılıyorum.

Detaylı bilgi için tıklayın

 

SELECT
OBJECT_NAME(i.OBJECT_ID) AS TableName,
i.name AS IndexName,
i.index_id AS IndexID,
8 * SUM(a.used_pages) AS 'Indexsize(KB)'
FROM sys.indexes AS i
JOIN sys.partitions AS p ON p.OBJECT_ID = i.OBJECT_ID AND p.index_id = i.index_id
JOIN sys.allocation_units AS a ON a.container_id = p.partition_id
GROUP BY i.OBJECT_ID,i.index_id,i.name
ORDER BY OBJECT_NAME(i.OBJECT_ID),i.index_id

Sql Server Index Kayıt Sayıları

Veritabanınızdaki tablolarda çeşitli indexleriniz var ve bu indexlerin sayılarını meraktan veya ihtiyaçtan öğrenmeniz gerekiyor.. İşte size hazır sorgu..

SELECT
i.index_id IndexID,
i.name IndexName,
SUM(p.rows) TableRows,
o.name TableName
FROM sys.objects o
INNER JOIN sys.partitions p on o.object_id=p.object_id
INNER JOIN sys.indexes i ON i.index_id = p.index_id AND p.object_id = i.object_id
WHERE OBJECTPROPERTY(o.object_id,'IsUserTable') = 1
GROUP BY i.name,i.index_id, o.name