• 13-12-2018, 23:51:18
    #1
    $verisay = $db->prepare("SELECT alimlar.*, uye.isim, uye.soyisim, uye.adres, uye.tel FROM alimlar INNER JOIN uye ON uye.email = alimlar.email WHERE alimlar.tarih >= '2018-12-07 17:26:37' ORDER BY alimlar.tarih DESC LIMIT " . $limit . ", " . $sayfada);
    limit ve sayfada değerleri sayfalama yapmak için kullanılıyor.
    Bu şekilde bir query attığım da ve foreach ile bir tablo oluşturduğumda, örneğin 2. sayfaya tıklıyorum çok ağır yükleniyor... Kısaca query siteyi yavaşlatıyor.

    Problem nedir ve nasıl çözebilirim sizce?
  • 13-12-2018, 23:55:18
    #2
    uye.email = alimlar.email bunu uniq id kullanarak yapmanı öneririm.
  • 13-12-2018, 23:56:41
    #3
    alimlar.uyeid = uye.id şeklinde mi? Yavaşlığa sebep olan şey bu mu yani



    Sorun ya where yapısında ya da LIMIT yapısında kaldırınca hızlanıyor çünkü, nasıl işin içinden çıkarım bilemedim.
  • 13-12-2018, 23:59:58
    #4
    Yani direk sebep o diyemem ama doğrusu eşsiz değerler ile yapmandır , birileri e-posta adresini değiştirdiğindeki önceki kayıtlar boşa çıkacaktır.
    String eşleştirmeleri performans açısından çok tercih etmemeni öneririm.

    Bunun haricinde tablolarında kaç satır var ve bir sayfada kaç satır listeliyorsun ?
  • 14-12-2018, 00:01:49
    #5
    Sayfayı yavaşlatanın query olduğuna eminmisin kod yapısını biraz daha çoğaltıp atarmısın
  • 14-12-2018, 00:01:54
    #6
    E-posta değişimi mümkün değil.
    Bir tabloda 20 bin bir tabloda 25 bin kayıt var.
    25 satır listeliyorum.




    $verisay = $db->prepare("SELECT alimlar.*, uye.isim, uye.soyisim, uye.adres, uye.tel FROM alimlar INNER JOIN uye ON uye.email = alimlar.email WHERE alimlar.tarih >= '2018-12-07 17:26:37' ORDER BY alimlar.tarih DESC LIMIT " . $limit . ", " . $sayfada);
    $verisay->execute();
     
    if($verisay->rowCount()){
     
    foreach($verisay as $aldim){
    // tablo burada
    }
    @freguencey;



    Sayfalamada 1 tane göster desemde hafif bir ağırlık var gibi.
  • 14-12-2018, 00:09:51
    #7
    alimlar tablonda kaç sutun var ? Tablo yapılarınıda paylaşabilir misin ?
  • 14-12-2018, 00:11:04
    #8
    Alımlarda 8 stün var.
    Üyede ise 30
  • 14-12-2018, 00:15:50
    #9
    email ile değilde tablo yapısında değişiklik yapıp uye.id=alimlar_uyeid şeklinde düzenleyip denermisin