View yavaş mı bana mı öyle geliyor?

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
Kullanıcı avatarı
alguli
Üye
Mesajlar: 35
Kayıt: 04 Nis 2007 01:03

View yavaş mı bana mı öyle geliyor?

Mesaj gönderen alguli »

Arkadaşlar rapor alırken bir view kullanıyorum.
Sınav sonuçlarını ve öğrenci bilgilerini tuttuğum bir tablodan okul kodu alanından outer joinle eşleme yaparak sınav ve okul tablolarını birleştiriyorum. Böylelikle Öğrencinin il, ilçe okul vs verilerini raporumda görüntüleyebiliyorum.

Tabii problemim bu değil. Problemim order yaptıktan sonra view ın oldukça geç açılması.
Sınav tablomda 40 kadar kayıt varken okul tablosu oldukça büyük. (52000 kayıt). Yaaa ben şimdi soruyu sorarken düşündüm de view join ederken her kayıt için 52000 kayıt arasından sorgu çekiyor. Bu da zamanı arttırıyor.
Bana view içerisinde outer joinden farklı bir yöntem tavsiye edebilir misinz? Ya da view harici bir yöntem.
52000 okul kaydından vazgeçmem mümkün değil onu da belirteyim.
Kolay gele.
Hayat yalanlarla dolu bir aşktır.
Gerçek aşka erişince o da biter.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
outher join yerine left join kullanabilirsin.
sql i gönderde bi bakalım.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
alguli
Üye
Mesajlar: 35
Kayıt: 04 Nis 2007 01:03

kullandığım kod

Mesaj gönderen alguli »

üstad left outer join yerine left join tavsiyeni hemen deneyeceğim

Kod: Tümünü seç

SELECT
..........
    ossson.soz2_bolge_sira,ossson.say2_bolge_sira,ossson.ea2_bolge_sira,
    okullar.REFERANS,okullar.ILKD,okullar.ILCEKD,okullar.OKULKD,okullar.ILADI,okullar.ILCEAD,okullar.TEL,
    okullar.FAX,okullar.ADRES,okullar.OKULTUR,okullar.OKULADI
FROM
ossson
left outer join okullar  ON okullar.okulkd=ossson.okul_kod
Hayat yalanlarla dolu bir aşktır.
Gerçek aşka erişince o da biter.
integra_sir
Üye
Mesajlar: 21
Kayıt: 06 Nis 2006 04:01

Mesaj gönderen integra_sir »

Selamlar,

FB de viewler biraz yavaş çalışıyor gerçekten. özellkle çoklu sorgularda süreler oldukça uzuyor. Ben Computed By alan kullanarak bu durumu lehime çevirdim. Size de tavsiye ederim.

Örnek olarak :

A tablosunda ALAN_ID değeri 1 olsun
B tablosu ALAN_ID,ALAN_ADI verilerini tutsun. 1 nolu ID "Deneme" stringine denk gelsin.
A Tablosuna Computed By alan açın,
(SELECT ALAN_ADI FROM A WHERE A.ALAN_ID=B.ALAN_ID) yazın ve tablonuza otomatik olarak bu "Deneme" değerinin atandığını görün. Raporlarınızı da ana tablodan alın. viewden çok daha hızlı olduğunu göreceksiniz.
Cevapla