FireBird Perfonması

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
denizfatihi

FireBird Perfonması

Mesaj gönderen denizfatihi »

Öncelikle herkese merhaba,

Benim bir sorum olacak.

[Select BANK.BANKA_ADI, B.hesap_turu ,B.DOVIZ_BIRIMI , CASE WHEN SUM(BI.BORC)-SUM(BI.ALACAK) > 0 THEN SUM(BI.BORC)-SUM(BI.ALACAK) ELSE 0 END BORC, CASE WHEN SUM(BI.ALACAK)-SUM(BI.BORC) > 0 THEN SUM(BI.ALACAK)-SUM(BI.BORC) ELSE 0 END ALACAK, Sum(BI.BAKIYE) BAKIYE
From BANKISLM BI
Join BANKHEDE B on (BI.BANKA_HESAPD_NO = B.BANKA_HESAPD_NO)
Join BANKHESA BA on (B.BANKA_HESAP_NO = BA.BANKA_HESAP_NO)
Join BANKSUBE BAN on (BA.BANKA_SUBE_NO = BAN.BANKA_SUBE_NO)
Join BANKKART BANK on (BAN.BANKA_NO = BANK.BANKA_NO)
Group By B.hesap_turu,B.DOVIZ_BIRIMI, BANK.BANKA_ADI
Order By B.hesap_turu , B.DOVIZ_BIRIMI, BANK.BANKA_ADI]


yukarıdaki sorguyu IB Expertte çalıştırdığım zaman sonuç hemen geliyor fakat bunu IBQuery nin içinde çalıştırdığım zaman çok uzun sürüyor sebep ne olabilir yada faklı bir çözüm var ise lütfen yardım etsinler, yardımlarınız için şimdiden tşk
ng
Üye
Mesajlar: 192
Kayıt: 01 Mar 2004 11:49
Konum: Bursa
İletişim:

Mesaj gönderen ng »

IB query her defasında sorguyu derlemeye çalıştığı için zaman kaybediyor olabilir. Bu sorguyu stored procedure haline getirip öyle çalıştırısan belki daha hızlı olur.Ibexperte gelince belki sorgunun derlenmiş halini cachde saklıyor olabililr.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

IBQuery de hesaplanmış alanlar/CalculatedField veya başka olay/event lar varsa, herhangi bir grid e (DataSource ile) bağlı ise sonucun yavaş gelmesi normaldir. Ayrıca tavsiyem IBDataSet te sadece SelectSQL e kopyalayıp deniyebilirsin :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
denizfatihi

Mesaj gönderen denizfatihi »

tşk ederim arkadaşlar, ama her 2 yöntemde bir işe yaramadı hala çok yavaş
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Query'i Execute etmeden önce prepare edip sonra Execute etmeyi dener misiniz. Bakalım prepare time mı yoksa Execute time mi uzun sürüyor.

Bir de şuna dikkat edin. Fetchall mu yapıyorsunuz?

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
denizfatihi

Mesaj gönderen denizfatihi »

Arkadaşlar tekrardan mrb,

hafta sonu bakma imkanım olduda anladım ki sorun makinedeymiş, kullandığım virüs programı yüzünden kusura bakmayın zamanınızı almış olduk.

tekrardan tşk.
Cevapla