1- Sorguyu çalıştırdığım zaman seçtiğim alan sayısına göre hız artıyor/azalıyor 10 adet alana göre sorgulama yaptığımda 25-30 saniye sürüyor sorgu sonucunu görmem. En son kayıta gitmem ise yaklaşık 1-2 dakikamı alıyor bu sorunu nasıl çözebilirim???
2- Kayıtları çekince IbQuery kapatmak 2 dakikamı alıyor nasıl hızlandıra bilirim???
3- Performansı artırmak için terminator arkadaşımızın yazmış olduğu ayarları kontrol ettim. Sorgu çalışınca temp dizininde sort benzeri dosyalar oluşuyor ve Ibquery kapatınca kayboluyor. bu nedenle SortMemBlockSize = 1048576 den 1073741824 çıkardım. Sorgu çalışınca ram kullanımı birden arttı ama sadece ilk seferde oldu ve temp dizininde yine sort yazılı bir dosya oluştu bundan sonrada daha hiçbir sorguda ram birden arttığını görmedim. Nedeni????
İyi çalışmalar.
Not: Server P4 3.0, ram 1.536, 80 gb hdd- client dell d600
Aşağıdaki kod 4 alana göre sorgulama yapılmıştır.
Kod: Tümünü seç
SELECT
fırma_adı,ıplık_ne,ıplık_tıpı,partı_no
, coalesce(sum(sıparıs_mktr),0) as sıparıs_mktr
,(select coalesce(sum(net_uretım),0) from uretim_bilgisi where uretım_emrı.fırma_adı=uretım_bılgısı.fırma_adı and uretım_emrı.ıplık_ne=uretım_bılgısı.ıplık_ne and uretım_emrı.ıplık_tıpı=uretım_bılgısı.ıplık_tıpı and (uretım_emrı.partı_no=uretım_bılgısı.partı_no or (uretım_emrı.partı_no is null and uretım_bılgısı.partı_no is null)) and uretım_bılgısı.uretım_trh>'01.04.2006 07:00' and uretım_bılgısı.uretım_trh<'11.04.2006 07:00')as net_uretım
,(select coalesce(sum(brut_uretım),0) from uretim_bilgisi where uretım_emrı.fırma_adı=uretım_bılgısı.fırma_adı and uretım_emrı.ıplık_ne=uretım_bılgısı.ıplık_ne and uretım_emrı.ıplık_tıpı=uretım_bılgısı.ıplık_tıpı and (uretım_emrı.partı_no=uretım_bılgısı.partı_no or (uretım_emrı.partı_no is null and uretım_bılgısı.partı_no is null)) and uretım_bılgısı.uretım_trh>'01.04.2006 07:00' and uretım_bılgısı.uretım_trh<'11.04.2006 07:00')as brut_uretım
,(select coalesce(sum(net_sevk),0) from sevk_bilgisi where uretım_emrı.fırma_adı=sevk_bılgısı.fırma_adı and uretım_emrı.ıplık_ne=sevk_bılgısı.ıplık_ne and uretım_emrı.ıplık_tıpı=sevk_bılgısı.ıplık_tıpı and (uretım_emrı.partı_no=sevk_bılgısı.partı_no or (uretım_emrı.partı_no is null and sevk_bılgısı.partı_no is null)))as net_sevk
,(select coalesce(sum(brut_sevk),0) from sevk_bilgisi where uretım_emrı.fırma_adı=sevk_bılgısı.fırma_adı and uretım_emrı.ıplık_ne=sevk_bılgısı.ıplık_ne and uretım_emrı.ıplık_tıpı=sevk_bılgısı.ıplık_tıpı and (uretım_emrı.partı_no=sevk_bılgısı.partı_no or (uretım_emrı.partı_no is null and sevk_bılgısı.partı_no is null)))as brut_sevk
,(select coalesce(sum(net_uretım),0) from ambar where uretım_emrı.fırma_adı=ambar.fırma_adı and uretım_emrı.ıplık_ne=ambar.ıplık_ne and uretım_emrı.ıplık_tıpı=ambar.ıplık_tıpı and (uretım_emrı.partı_no=ambar.partı_no or (uretım_emrı.partı_no is null and ambar.partı_no is null) ))as net_ambar
,(select coalesce(sum(brut_uretım),0) from ambar where uretım_emrı.fırma_adı=ambar.fırma_adı and uretım_emrı.ıplık_ne=ambar.ıplık_ne and uretım_emrı.ıplık_tıpı=ambar.ıplık_tıpı and (uretım_emrı.partı_no=ambar.partı_no or (uretım_emrı.partı_no is null and ambar.partı_no is null) ))as brut_ambar
FROM URETIM_EMRI
GROUP BY
fırma_adı,ıplık_ne,ıplık_tıpı,partı_no