or ile kullanılan sql çok yavaş çalışıyor sebebi ne olabilir

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
zero_g
Üye
Mesajlar: 56
Kayıt: 11 Şub 2004 11:52

or ile kullanılan sql çok yavaş çalışıyor sebebi ne olabilir

Mesaj gönderen zero_g »

Slm arkadaşlar bir sorunum var ,yardımlarınızı bekliyorum

rapor değişkenleri
tarih1,tarih2
data değişkenleri
tarih, tip, tutar

kayıtlarım şu şekilde

01.01.2011 a 150
01.01.2011 b 200
02.01.2011 b 10
03.01.2011 b 15
10.01.2011 b 25
15.01.2011 a 100
16.01.2011 a 25
16.01.2011 c 55
17.01.2011 c 45
17.01.2011 a 53
18.01.2011 b 23

ben 01.01.2011 ile 30.01.2011 tarihleri arası bu kayıtları listelemek istiyorum
ancak tipi (a) olan kayıtları sadece sorguda verdiğim ilk tarihte yani 01.01.2011 deki kayıtların listelenmesini istiyorum
aradaki tarihlerde (a) tipli kayıtları istemiyorum
mesala başlangıç tarih 10.01 olursa o tarihte (a) tipli kayıt olmadığı için hiçbir (a) tipli kayıt istemiyorum ama 15 şinden itibaren alırsam listeyi
sadece 15 şindekini istiyorum 17 sindekini istemiyorum,

aslında ben şu şekilde olayı çozdum ama rapor kayıt sayısı arttıkça çok çoook yavaş çalışıyor
tabi tek table le sorgulama yapmıyorum 4 tane daha table ile eşleştirme yapıyorum, or kısmını atınca rapor hızı düzeliyor ama benim istediğim
olmuyor..
select * from table
where ((tarih = tarih1) and (tip=a)and (diğer işleştirm ler)) or
((tarih >=tarih1) and (tarih <=tarih2) and (tip<>a)and (diğer işleştirm ler))



farklı bir yöntemi varmı acaba yardımcı olursanız sevinirim cevap veren arkadaşlara çok tşk.ederim
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: or ile kullanılan sql çok yavaş çalışıyor sebebi ne olab

Mesaj gönderen sadettinpolat »

ibexpert tarzi bir arac kullaniyorsaniz plan analyzer ile sorgunun hangi tablolardan kac tane kayit okudunugu hangileri icin index kullandigini hangileri icin index kullanmadigini gorebilir sorgunuzu buna gore optimize edebilrsiniz.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Cevapla