Murat Uysal

girişimci / matematik mühendisi / yazılım uzmanı / hislerim ve deneyimlerimden yazılar

SQL Server performans iyileştirme püf noktaları

Merhabalar

Aslında sql server performans konusu çok düşünülmeden uygulamalar yayına alınır ancak kritik ve yoğun uygulamalarda küçük değişikliklerin büyük faydalar sağlaması mümkündür. SQL server ile ilgili okuduğum kaynaklardan küçük bir dikkat ile büyük fayda sağlayabilecek aşağıdaki 3 adet tespiti sizlerle paylaşmayı istiyorum. Faydalı olması dileğiyle. 


1-) Eğer kullananılacak veritabanı sadece TCP üzerinden bağlantı kurularak erişilecek ise shared bağlantı desteği disabled yapılması performans için faydalıdır. Eğer bu yapılmaz ise SQL server her bağlantı yapılacağında ilk olarak local bağntı geldiğini varsayıp işlem yapacak sonra TCP olduğunu anlayıp asıl istediğiniz işlemi yapacaktır. Bu da her sorgunuzun daha geç cevaplanmasına sebep olacaktır.

2-) Veritabanından çekilecek sorgularda genellikle SELECT* FROM TABLO_ADI şeklinde kullanılır. Ancak * karakterinin kullanımı performansın önemli olduğu uygulamalarda kullanılmaması faydalı olacaktır. Çünkü * karakteri karşılığında sql server öncelikle ilgili tablonun kaç stünü olduğunu sonra da bu stünların isimlerinin neler olduğunu öğrenip sorguyu kendisi oluşturmakta ve çalıştırmaktadır. Daima gerektiği kadar bilgiyi sorgulamak faydalıdır. SELECT AD,SOYAD from TABLO_ADI şeklinde sorgular ile gerektiği kadar bilgi almak en doğrusu ve performansı en yükseğidir.

3-) Veritabanının FILEGROWTH özelliğini belirlemek stratejik karardır. Bir veritabanına bir kaynaktan veri alarak başlatacağınız belli ve örneğin bu verinin boyutu veritabanı için 100MB a kadar çıkmasını sağlayacak ise veritabanı default ayarlar ile oluşturulmuş veritabanı 100MB ulaşmak için 30 kez alan büyütme işlemi yapmak zorunda kalacaktır. Eğer böyle bir durum belli ise veritabanının başlangıç alanını 100MB ile başlatmak ve gelecek olan veri yoğunluğuna göre veritabanının çok fazla genişleme işlemi yapmasına gerek kalmayacak şekilde büyüme oranı verilmesi yerinde olacaktır. Çünkü veritabanının alan arttırma işlemi performans konusunda ciddi maliyetleri olan bir işlemdir.



Comments are closed