• 29-08-2013, 12:12:34
    #1
    Merhabalar

    yaklaşık 100k kayıtlı bir veritabanı mevcut ürünleri sorgulama yaptığım sayfa çok rahatsız edecek şekilde olmasa da biraz yavaş açılıyor sorgu nedeniyle.

    sql sorgusunda where kategori=1 şeklinde mi yoksa where kategori in (1) şeklinde mi sorgu yazsak daha hızlı ve sağlıklı olur? mysql proflarından fikir rica ediyorum
  • 29-08-2013, 13:55:15
    #2
    where kategori in (1) daha sağlıklı olur ancak php kodlama düzeniniz php class değilse php classe çevirmeniz performansı arttıracaktır.
  • 29-08-2013, 15:29:43
    #3
    or kullanımında in daha uygun olucaktır, fakat tek eşitleme ile çözüm oluyorsa in kullanımı daha yorucu olucaktır.

    kategor = 1 OR kategori = 5 yerine kategori IN (1,5) daha performanslı olucaktır
    kategori IN (1) yerine kategor = 1 daha performanslı olucaktır

    aynı field üzerinde or kullanıyorsanız in kullanın, aynı field üzerinde o yada bu dediğiniz bir işlem yok ise eşitlik kullanmanız daha uygun olucaktır.
  • 31-08-2013, 17:41:20
    #4
    Electr0sis adlı üyeden alıntı: mesajı görüntüle
    where kategori in (1) daha sağlıklı olur ancak php kodlama düzeniniz php class değilse php classe çevirmeniz performansı arttıracaktır.
    +1

    Php Class'ı static yaparsanız performans artabilir ayrıca
  • 31-08-2013, 18:47:49
    #5
    @Electr0sis dediği gibi kodlama obje olarak hazırlanırsa daha performans artar