Forum

SQL 2008 index soru...
 
Bildirimler
Hepsini Temizle

SQL 2008 index soruları

6 Yazılar
3 Üyeler
0 Reactions
825 Görüntüleme
(@ahmetaltuntas)
Gönderiler: 731
Prominent Member
 

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.

 
Gönderildi : 07/07/2011 16:28

(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

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. 

 
Gönderildi : 07/07/2011 16:35

(@ahmetaltuntas)
Gönderiler: 731
Prominent Member
 

Şö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.

 
Gönderildi : 07/07/2011 18:53

(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

Anlıyorum.

Çok teşekkürler bilgileriniz için. Ayrıca ilginize de.

İyi çalışmalar.

 
Gönderildi : 07/07/2011 19:31

(@ahmetaltuntas)
Gönderiler: 731
Prominent Member
 

Rica ederim.

Kolay Gelsin.

 
Gönderildi : 07/07/2011 19:44

(@turgaysahtiyan)
Gönderiler: 344
Reputable Member
 

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


 

 
Gönderildi : 11/07/2011 15:05

Paylaş: