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
or ile kullanılan sql çok yavaş çalışıyor sebebi ne olabilir
- 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
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.