Forum
Merhaba index sorgulardaki geri dönüş hızı açısından önemlidir.
Daha ayrıntılı bilgi için makaleyi inceleyebilirsiniz.
http://www.cozumpark.com/blogs/sql/archive/2011/01/15/sql-server-_3101_ndex-olu-turma.aspx
Kolay Gelsin.
Teşekkürler. Bu yazıyı inceledim.
Bir sorum daha var. Bizim o tabloda storage 280 GB olmuş Bunun 100 GB Data 180 GB Index.
Bu normal mi?
Bu indexin kapladığı yer azaltılamaz mı?
Ayrıca bu 1,5 TB datadan yapılan sorgu 1 günde toplam 1000-2000 ya çıkar ya çıkmaz. Bu kadar indexin bize faydası olur mu?
Tüm o varchar alanların indexini silsem, rebuild etsem indexi sonra sıkıntı olursa tekrar sildiğim indexleri tekrar oluşturma da sorun çıkartır mı?
Çok soru oldu ama tüm bunları bilen birisine sormak bilmediğin bir konuda internette makaleler arasında kaybolmaktan çok daha çabuk ve zaman çok çok önemli şu an.
Çok teşekkürler.
Şöyle izah edeyim.Eger bu sql server üzerindeki DataBase'e program yazılmışsa indexler program içerisinde tanımlanmıştır.
Örnek olarak programı yazan kişi SQL Sorgusunda Select * from TABLO with (INDEX = INDEXNAME)
şeklinde index kullanmış olabilir.
Egerki indexleri silerseniz program hataya düşecektir.İndexler yerinde kullanılırsa yararlıdır ama gereğinden fazla kullanılırsa yararından çok zararını görürsünüz(sizde olduğu gibi).
İndexleri silip tekrar oluşturabilirsiniz fakat dediğim gibi eksik index olursa proıgramınız çalışmaz.(İndexleri silmeden backup almayı unutmayın.)
Yazılımcı şirketle temsa geçin derim.
Kolay Gelsin.
Anlıyorum.
Çok teşekkürler bilgileriniz için. Ayrıca ilginize de.
İyi çalışmalar.
Rica ederim.
Kolay Gelsin.
Merhaba
Her ne kadar index kullanmak sorgu performansını arttırsa da bir tabloda çok fazla index olması o tablo üzerine yapılacak insert update işlemlerini oldukça sıkıntılı hale gelecektir.
Çünkü clustered key üzerinden yapılacak her data değişikliği, bu clustered key nonclustered index lerin leaf level'ında bulunduğundan bu index lerinde update olmasını gerektirecek ve dolayısıyla transaction ın uzun sürmesine neden olacaktır.
Bu aşamada Index'lerin kullanım istatistiklerine bakmanda fayda var. Index'in var ama yeteri kadar kullanılıyor mu. Kullanılmayan index'in sana yarardan çok zararı olacaktır. Index'lerin kullanım istatistikleri için aşağıdaki makaleye bakabilirsin.
SQL Server – Her Gün 1 DMV - Gün 13 - sys.dm_db_index_usage_stats
Onun haricinde SQL Server'da Index Kavramı ve Query Optimization üzerine yazdığım aşağıdaki Whitepaper'ı da okumanı tavsiye ederim.
http://www.microsoft.com.tr/sqlserver/SQLServerdaIndexKavrami.docx