Merhaba,

Veritabanı olarak Sql Server 2008, dil olarak Visual Basic,Devexpress ve IDE olarakda Visual Studio 2010 kullanıyorum. Bir server üzerinden clientlar internet üzerinden bağlanıyor. 5000 kayıtı 30 saniye gibi bir sürede getiriyor daha hızlı getirmesi gerektiğini düşünüyorum.

Bağlantı cümlem

conn = New SqlConnection("Data Source =x.x.x.x,1433; Initial Catalog=DatabaseName;User ID=userName;Password=pass;")

Datagridi aşağıdaki şekilde dolduruyorum.

Try
              conn.open()
            dataAdapter = New SqlDataAdapter("Select ad,soyad,... FROM personel", conn)
            Using ds As New DataSet
                dataAdapter.Fill(ds, "personel")
                view.DataSource = ds.Tables(tablo)
            End Using
            baglantiKapat()
        Catch ex As Exception
            XtraMessageBox.Show(My.Resources.hataVar & vbCrLf & ex.Message & vbCrLf & vbCrLf & My.Resources.bilgilerOkunamadi, My.Resources.islemHatasi, MessageBoxButtons.OK, MessageBoxIcon.Stop)
        End Try

Şeklinde olmak üzere

Uzak sql de 30 saniye civarında ama localde çalıştıracak olursam 354 ms de dolduruyor. Nerede hata yapıyorum bu durumu nasıl düzeltebilrim. Yardımlarınız için şimdiden teşekkür ederim.

soruldu: 23 Tem '15, 13:23

kurtomerfaruk's gravatar image

kurtomerfaruk
1.3k222940
cevap kabul oranı: 29%

değiştirildi: 23 Tem '15, 13:26


Öncelikle kullandığınız yöntem çok tehlikeli. Araya mutlaka bir servis katmanı ve bu servis katmanının önüne de bir güvenlik katmanı eklemelisiniz.

Yavaşlıkla ilgili de select işlemlerinde ilk akla gelen her zaman index olur. Siz local de bu sorguyu çalıştırdığınızda ne kadar sürede geliyor? Eğer lokalde de benzer yavaşlık varsa uygun kolonlar için index oluşturmalısınız. Hangi kolonlar için index oluşturmanız gerektiğini bulmakta kolay. Sql Management Studio da query penceresinde Execution Plan ı açmalısınız(Üstteki toolbarda Include Actual Execution Plan(CTRL+M) yazan buton). Sorguyu çalıştırdıktan sonra alttaki result alanında Execution Plan tabını göreceksiniz. Eğer çalıştırdığınız sorguda indexe ihtiyaç varsa Missing Index Details yazan yerde oluşturmanız gereken index in scripti hazır şekilde sizi bekliyor olacak.

permanent link

cevaplandı: 24 Tem '15, 03:18

huseying's gravatar image

huseying
301128
cevap kabul oranı: 30%

localde aynı durum 354 ms geliyor. Sıkıntı yok program üzerinden değilde Management Studio ile yazarsam aynı sorguyu 27-28 saniye de geliyor. Execution Plan'ı kontrol ettim ama bir sorun göremedim ya da ben gördüğümü sorun olarak yorumlamadım. Galiba sorun server ile ilgili diye düşünüyorum çünkü program ile localde çalışan makinalarda sıkıntı yoktur.

(24 Tem '15, 06:47) kurtomerfaruk kurtomerfaruk's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×53
×3

Soruldu: 23 Tem '15, 13:23

Görüntüleme: 409 kez

Son güncelleme: 24 Tem '15, 06:47

powered by BitNami OSQA