• 07-05-2019, 02:51:33
    #1
    Merhaba,

    Codeigniter ile geliştirdiğim yazılımıma. 140K veri barındıran tablomdan veri çekerken order_by = kayit_tarihi ve order_by = kayit_saati olarak çektiğimde

    Sayfanın yüklenme süresi : 3.5 saniye sürüyor.
    Order_by kaldırdığımda ise 0.5 saniye sürüyor.

    Bu neden olur? Maria(InnoDB) kullanıyoruz ve ilişkilendirmeler sorunsuz. Ek olarak indexler doğru düzgün çağırılıyor.



    Veri aslında 140k değil. 3 Tablo birbirine joinli 3x140k = 420K
  • 07-05-2019, 03:40:41
    #2
    neden 2 order_by kullanıyorsunuz?
    kayıt tarihi ve saati ayrı sütunlarda mı?
  • 07-05-2019, 03:51:07
    #3
    absie adlı üyeden alıntı: mesajı görüntüle
    neden 2 order_by kullanıyorsunuz?
    kayıt tarihi ve saati ayrı sütunlarda mı?
    Evet tarih ve saat ayrı sütunlarda öyle yapılmış. Sorun o değil sadece kayit_tarihi olarakta order yapsak gene süre çok uzuyor.
  • 07-05-2019, 03:57:01
    #4
    EdgeBear adlı üyeden alıntı: mesajı görüntüle
    kayit_tarihine index eklendi mi?
    ne tür bir index? sanırım eklemedim yönlendirebilir misiniz hocam
  • 07-05-2019, 04:00:06
    #5
    EdgeBear adlı üyeden alıntı: mesajı görüntüle
    Normal index ekleyin veritabanında.
    Sanırım bundan bahsediyorsunuz.

    https://i.hizliresim.com/V94dmr.png
  • 07-05-2019, 04:02:54
    #6
    EdgeBear adlı üyeden alıntı: mesajı görüntüle
    Evet.
    Maalesef hayır işlemedi. 1.8 saniyeden 3.5 saniyeye çıkıyor order_by çalıştığı gibi direk. Zaten 1.8 saniyede yüksek bir sürede çözmeye çalışıyorum işte.



    EdgeBear adlı üyeden alıntı: mesajı görüntüle
    Evet.
    Sorgu yapısı şu şekilde.

    http://berkfuat.com/mysql.html

    Tamamını göstermiyor fakat yüklenme süreleri çok uzun.



    EdgeBear adlı üyeden alıntı: mesajı görüntüle
    Evet.
    Hocam sorun ilginç bir şekilde düzeldi. Indexleme yaptıktan sonra.

    Indexleme mantığını nasıl kullanmalıyım? group_by, order_by gibi seçeneklerde indexleme yapmalı mıyız? ve where kullanımlarında.

    Örneğin ben where ile 5 farklı sütun aratıyorum duruma göre. 5 farklı sütunu birleştirerek indexlemem mi gerekiyor?
  • 07-05-2019, 19:16:34
    #7
    whereden sonra sorgulama yaptığınız sütunlara index yapmanız faydalı olur. ancak yüksek veri olmayan tablolara index yapmanız gereksiz.

    gereksiz indexler crud işlemlerinizi yavaşlatır.
  • 07-05-2019, 19:45:58
    #8
    Sorguda JOIN var mı?