Merhaba arkadaşlar,
Şöyle bir olay söz konusu, Günde 300 400 kayıt girilen bir veritabanım var.
Alanlar;
Id,
Sıra,
Ekleyen,
Baslik,
Tarih,
diyelim.
Yapmak istediğim işlem ay sonunda bir liste almak istiyorum. Kayit Ekleyen kişilerin listesi.
X kişi Toplam XX kayit Eklemiş Hergün Sabah Eklenen Kayitlarin (ilk 15 kayit) Toplam 10 Tanesini ve Her akşam eklenen kayitlarin (son 10 kayit) Toplam 5 tanesi A isimli kayit eklemiştir. Aslında işlem çok basit gün bazli bir for döngüsü yapılarak istediğim sonuç elde edilir. Ancak bu işlem toplamda 60.000 kez gibi bir döngüye sonuç çıkarıyor. Bu işleminde sonlanmasi yaklaşık 15 dk yı buluyor. Bende bu yüzden öyle bir sorgu yapmaliyimki işlem 2 dk içinde sonlansin istiyorum.
Sabah işlemi için gerekli sorguyu yazdım.
"SELECT fldFisSira FROM `tblfis` WHERE fldFisTarih BETWEEN '".$_GET[yil]."-".$_GET[ay]."-01' AND '".$_GET[yil]."-".$_GET[ay]."-".$SonGun."' AND `fldGroupId` = '".$_GET[groupID]."' AND `fldFisSira` BETWEEN '1' AND '".$SonOnAdet."' AND fldFisCagiran = '".$Grfkr[$i]->fldUserId."' AND fldFisCagir = '".$Grfkr[$i]->fldUserId."'"
sabah sorgusu bu ancak akşam sorgusunu yazamadim. Çünkü kaç adet fiş oldgunu bilmiyorum arada kaynamalar olabilir. siralarda vs. bu yüzden bunu nasil yapabilirz. Yardımlarınız için şimdiden tşk ederim.
Mysql Gelişmiş Sorgu
0
●385