Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
MSSQL StoreProcedure Performans Sorunu (Çözüldü)
#1
Selamlar

İlk kez başıma gelen bir olay ve halen nedeni bulamadım yardımcı olabilecek arkadaşlara şimdiden teşekkürler

SP içerisindeki yapılanları normal bir Query olarak çalıştırdığımda 1 sn sürmeyen sorgu
Execute SP_XXXX ile çalıştırıldığında neden 17 sn civarı sürer 

Normal ve SP ile Execution Planları incelediğimde SP içerisindeki süreler ve kayıplar çok artıyor

Böyle bir şeyle karşılaşan oldumu acaba sorgular normal bir select sorgusu 
SP yi silip yeniden Create ettim değişen birşey olmadı
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#2
Selamlar
tablo indexlerinde bir bozulma mevcut mu? İlk etapta indexleri tekrar create etmenizde fayda var. Zaten şu mysql i anlamış değilim. Aynı program ve aynı veritabanı benim bilgisayarımda daha yavaşken, müşteri bilgisayarında çok daha sürtali çalışıyor. MSSQL e geçesim var Smile
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Cevapla
#3
@"wiseman", @adelphiforumz zaten MSSQL deki SP çalışmasındaki problemden bahsetmiş sanırım siz MySQL den yana dertli olduğunuz için konu başlığındaki açıklamayı gözden kaçırdınız Smile

Denediğiniz queryi oduğu gibi SP nin içerisine alıp deneyince yine aynı sonucumu veriyor. SP nin giriş parametreleri varsa giriş parametrelerinin değerlerine göre içerideki sorgu ve kullanılan indexler veya tip dönüşüm işlemi yapılıyorsa gecikmenin sebebi bunlar olabilir.
Cevapla
#4
(13-09-2019, Saat: 16:23)adelphiforumz Adlı Kullanıcıdan Alıntı: Selamlar

İlk kez başıma gelen bir olay ve halen nedeni bulamadım yardımcı olabilecek arkadaşlara şimdiden teşekkürler

SP içerisindeki yapılanları normal bir Query olarak çalıştırdığımda 1 sn sürmeyen sorgu
Execute SP_XXXX ile çalıştırıldığında neden 17 sn civarı sürer 

Normal ve SP ile Execution Planları incelediğimde SP içerisindeki süreler ve kayıplar çok artıyor

Böyle bir şeyle karşılaşan oldumu acaba sorgular normal bir select sorgusu 
SP yi silip yeniden Create ettim değişen birşey olmadı


http://www.sommarskog.se/query-plan-mysteries.html
Slow in the Application, Fast in SSMS?
Understanding Performance Mysteries

sayfasında anlatılan konuları inceleyebilirsiniz.
WWW
Cevapla
#5
merhabalar , aslında benim de çok sık kullandığım ve muzdarip olduğum konulardan biri çok ciddi bir performans farkı var , bazı denemeler yapıyorum bir sonuca ulaşabilirsem burdan paylaşırım , kolaylıklar diliyorum.
Cevapla
#6
(13-09-2019, Saat: 16:23)adelphiforumz Adlı Kullanıcıdan Alıntı: Normal ve SP ile Execution Planları incelediğimde SP içerisindeki süreler ve kayıplar çok artıyor

Neden artıyor? Kullandığı indexler mi değişiyor?
WWW
Cevapla
#7
Burada öncelikle benim görüşüm
Kullanılan Query 'e bakamak lazım.
Herş query Sp de hızlı çalışacak diye bir şart yoktur zaten.
yazmış olduğunuz query 'e göre denemeler yapmanı gerekir.

Bazı yazdıklarınız normalde 2 dk geliyordur SP ye atarsın 1 dk ya düşer ama bazı queryler de SP de yükselir.
Ha buradaki durum tabiki SQL'in çalışma mantığına dayalıdır.

SP diye şartlamayın Kendinizi
TF olarak deneyin daha hızlı sonuçlar alacağınızdan eminin.
Cevapla
#8
Selamlar 
Sorularınızı ortak noktada genel olarak cevaplamak istiyorum
1. Store Procedure üzerinde parametre yok
2. Store Procedure silip farklı isimle kaydettim yine sonuç değişmedi
3. Exec SP_XYX yada Execute SP_SXZ şeklinde çalıştırınca yine sonuç aynı
4. Testlerde Where koşullarını kaldırdım
5. Order By kullanmadım
6. Veritabanını Shing ve All Index yapmam bir şeyi değiştirmedi
7. Veritabanını backup alıp başka makineye restore ettiğimde sonuç değişmedi (Makine kaynaklarına göre biri 2 sn. sürüyorsa diğeri 20 sn gibi)
 
SP içeriği
SP_XYZ(X int)
begin
 Select * from X_Tablo Where Id = X
end

Yavaş çalışan test yöntemi
Exec SP_XYZ(1)
Execute SP_XYZ(1)

Hızlı Çalışan Yöntem
New Query yapıp  SP içerisindeki kodu yapıştırıp çalıştırıyorum
Select * from X_Tablo Where = 1
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#9
test için
hızlı çalışan kod örneğinde query çalıştırmanız / .open yapmanız kıstas olmayabilir
open yaptıktan sonra son kayda gitme hızınız nedir.
belki SP içinde sql kodu çalışıp son kayda gidiyordur.
aradaki hız farkı bundan kaynaklanıyordur
Cevapla
#10
@meko bu testleri SQL serverın kendi üzerinde yapıyorum
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Çözüldü - firedac phys odbc microsoft odbc sql server driver connection is busy with cinarbil 1 638 14-10-2025, Saat: 09:14
Son Yorum: hi_selamlar
Lightbulb Mssql ve MS Server Upgrade'i arikeness 1 818 01-08-2025, Saat: 11:22
Son Yorum: maxpaynen
  Türkçe karakter sorunu barissagir 2 1.372 31-08-2024, Saat: 15:52
Son Yorum: barissagir
  SQl sorgu sonucunu JSON olarak almak istiyorum. [Çözüldü] Bay_Y 0 770 26-08-2024, Saat: 13:04
Son Yorum: Bay_Y
  Tek sorguda iki sonuç (Çözüldü) cinarbil 4 1.816 05-03-2024, Saat: 08:41
Son Yorum: cinarbil



Konuyu Okuyanlar: 1 Ziyaretçi