Stored Procedure de zaman sorunu
Stored Procedure de zaman sorunu
Veritabanı olarak SQL Server 2005 kullanıyoruz.
Öncelikle merhaba herkese kolay gelsin.
Benim Bir stored procedure'um var ve 15 16 dakikayı buluyor gelmesi Exec parametresiyle çalıştırıyorum değerlerini göndererek.
15 16 dakikadan aşağı gelmiyor.
Sonra içindeki sorguları birebir alarak değerleri elle set edip çalıştırdığımda ise 30 sn kadar bir sürede geliyor.
Kodlarım parça parça sql kodlarından oluşuyor.
Ve bir table yazıyor.
Yardımlarınızı bekliyorum tşkler. Kolay gelsin.
Öncelikle merhaba herkese kolay gelsin.
Benim Bir stored procedure'um var ve 15 16 dakikayı buluyor gelmesi Exec parametresiyle çalıştırıyorum değerlerini göndererek.
15 16 dakikadan aşağı gelmiyor.
Sonra içindeki sorguları birebir alarak değerleri elle set edip çalıştırdığımda ise 30 sn kadar bir sürede geliyor.
Kodlarım parça parça sql kodlarından oluşuyor.
Ve bir table yazıyor.
Yardımlarınızı bekliyorum tşkler. Kolay gelsin.
derviş
Selamlar,
Soruları daha açıklayıcı sorarsanız yanıt almanız çabuklaşır. Yazdığınız soru pek açıklayıcı değil, Recep'e katılıyorum.
Kolay Gelsin
Soruları daha açıklayıcı sorarsanız yanıt almanız çabuklaşır. Yazdığınız soru pek açıklayıcı değil, Recep'e katılıyorum.
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Sp içerik
ALTER proc [dbo].[krg_Rapor](@Ay int,@Yil int,@Int int,@SubeObjId bigint,@BolgeObjId bigint,@mesai int)as
begin
declare @oncekiFaturalasmamis decimal
set @oncekiFaturalasmamis=0
declare @EskidenDevirAlacak decimal
set @EskidenDevirAlacak=0
declare @HedefCiro decimal
set @HedefCiro=0
declare @BugunkuFaturaToplam decimal
set @BugunkuFaturaToplam=0
declare @BugunkuFaturaToplamAnlasmali decimal
set @BugunkuFaturaToplamAnlasmali=0
declare @BugunkuFaturaToplamAnlasmasiz decimal
set @BugunkuFaturaToplamAnlasmasiz=0
declare @BugunkuCiroToplami decimal
set @BugunkuCiroToplami=0
declare @bugunkudagitilanciro decimal
set @bugunkudagitilanciro=0
declare @bugunkudagitilmasigerekenciro decimal
set @bugunkudagitilmasigerekenciro=0
declare @bugunkudagitilmamisciro decimal
set @bugunkudagitilmamisciro=0
declare @DagitilanOran decimal
set @DagitilanOran=0
declare @toplamTahsilat decimal
set @toplamTahsilat=0
declare @ToplamAcikAlacak decimal
set @ToplamAcikAlacak=0
declare @Kalan decimal
set @Kalan=0
declare @BugunkuTahsilat decimal
set @BugunkuTahsilat=0
declare @YapmasiGerekenTahsilat decimal
set @YapmasiGerekenTahsilat=0
declare @Tarih datetime
declare @bastarih datetime
declare @i int
set @i=0
set @bastarih=cast ('01.'+cast(@Ay as varchar(4))+'.'+cast(@Yil as varchar(4)) as datetime)
begin
declare @oncekiFaturalasmamis decimal
set @oncekiFaturalasmamis=0
declare @EskidenDevirAlacak decimal
set @EskidenDevirAlacak=0
declare @HedefCiro decimal
set @HedefCiro=0
declare @BugunkuFaturaToplam decimal
set @BugunkuFaturaToplam=0
declare @BugunkuFaturaToplamAnlasmali decimal
set @BugunkuFaturaToplamAnlasmali=0
declare @BugunkuFaturaToplamAnlasmasiz decimal
set @BugunkuFaturaToplamAnlasmasiz=0
declare @BugunkuCiroToplami decimal
set @BugunkuCiroToplami=0
declare @bugunkudagitilanciro decimal
set @bugunkudagitilanciro=0
declare @bugunkudagitilmasigerekenciro decimal
set @bugunkudagitilmasigerekenciro=0
declare @bugunkudagitilmamisciro decimal
set @bugunkudagitilmamisciro=0
declare @DagitilanOran decimal
set @DagitilanOran=0
declare @toplamTahsilat decimal
set @toplamTahsilat=0
declare @ToplamAcikAlacak decimal
set @ToplamAcikAlacak=0
declare @Kalan decimal
set @Kalan=0
declare @BugunkuTahsilat decimal
set @BugunkuTahsilat=0
declare @YapmasiGerekenTahsilat decimal
set @YapmasiGerekenTahsilat=0
declare @Tarih datetime
declare @bastarih datetime
declare @i int
set @i=0
set @bastarih=cast ('01.'+cast(@Ay as varchar(4))+'.'+cast(@Yil as varchar(4)) as datetime)
derviş
Arkadaş, tam sarı çizmeli Mehmet Ağa olmuş. 
Galiba yarım kaldı procedure.
JOIN vs. hatası yoksa bir SP'nin 15-16 dakika sürebilmesi için VT'nin terrabyte'lar seviyesinde olması gerekiyor (tabi çok özel istisnalar olabilir).
SP'nin tamamını (Code tagları içinde) gönderebilirsen belki yardımcı olabiliriz. Bir de mümkünse SP'nin kullandığı tabloların kabaca kayıt sayılarını hatta yapılarını (CREATE TABLE..., INDEXler vs.) gönderirsen...
İyi çalışmalar.

Galiba yarım kaldı procedure.
JOIN vs. hatası yoksa bir SP'nin 15-16 dakika sürebilmesi için VT'nin terrabyte'lar seviyesinde olması gerekiyor (tabi çok özel istisnalar olabilir).
SP'nin tamamını (Code tagları içinde) gönderebilirsen belki yardımcı olabiliriz. Bir de mümkünse SP'nin kullandığı tabloların kabaca kayıt sayılarını hatta yapılarını (CREATE TABLE..., INDEXler vs.) gönderirsen...
İyi çalışmalar.
abilerim ablalarım öncelikle herkesten üzür diliyorum.
Procedure'ü defalarca atmak istemem rağmen atamadım ve inanının çok sık boğaz durumda olmam nedeniyle dönüp bakamadım bile (Öz eleştiri ihmal karlık ta yok değil tabi.. ) affınıza sığınıyorum.
sorunu halletmiş olmakla birlikte açıkcası hala problemin kaynağını halletmiş değiliz.
procedure'den iki adet select cümlececiğini çıkardım sorun çözüldü o kadarki 15, 16 saat süren sorgu 1 saat 45 dakikaya kadar düştü ama
çıkarmış olduğum o iki cümlecik select cümleciği şeklinde gayet iyi çalışıyor hatta planına baktığımızda yapmadı gereken index türlerinide yapıyor.
logical reads lerde düzgün geliyor ama içinden çıkarınca düzeldi.
açıkcası şansa çıkarmıştım tevafuk oldu diyelim..
tekrar teşekürler.
Procedure'ü defalarca atmak istemem rağmen atamadım ve inanının çok sık boğaz durumda olmam nedeniyle dönüp bakamadım bile (Öz eleştiri ihmal karlık ta yok değil tabi.. ) affınıza sığınıyorum.
sorunu halletmiş olmakla birlikte açıkcası hala problemin kaynağını halletmiş değiliz.
procedure'den iki adet select cümlececiğini çıkardım sorun çözüldü o kadarki 15, 16 saat süren sorgu 1 saat 45 dakikaya kadar düştü ama
çıkarmış olduğum o iki cümlecik select cümleciği şeklinde gayet iyi çalışıyor hatta planına baktığımızda yapmadı gereken index türlerinide yapıyor.
logical reads lerde düzgün geliyor ama içinden çıkarınca düzeldi.
açıkcası şansa çıkarmıştım tevafuk oldu diyelim..
tekrar teşekürler.
derviş
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
hayır saat ama veritabanı oldukça sağlam çok baba tablolarımız var şuan 150 Gigalık bilgi mevcut ve bu kırpılmış halidir.
ve yaklaşık 1000 adet kullanıcı var terminal serverdan bağlanıyorlar
connection sayısı 1200 buluyor bazen
yapı çok büyük..
ve 24 saat çalışan bir yapı yani off olduğu zaman yok..
ve yaklaşık 1000 adet kullanıcı var terminal serverdan bağlanıyorlar
connection sayısı 1200 buluyor bazen
yapı çok büyük..
ve 24 saat çalışan bir yapı yani off olduğu zaman yok..
derviş