• 05-01-2013, 19:56:16
    #1
    Merhaba arkadaşlar,

    Yeni bir şarkı sözü scripti yazmaktayım. Bununla ilgili bir sorum var. Performans konusunda.

    TABLOLARIM:
    
    kategori
    |-> kat_id
    |-> kat_ad
    
    sanatci
    |-> san_id
    |-> san_kat
    |-> san_ad
    |-> san_harf
    Soru:
    Sanatçıyı listelerken yönetici panelinde bunun ait olduğu kategoriyide listelemek için iç içe while vs yazmak yerine;
    SELECT sanatci.san_id,sanatci.san_kat,sanatci.san_ad,kategori.kat_id,kategori.kat_ad
    FROM sanatci INNER JOIN kategori ON sanatci.san_kat = kategori.kat_id;
    Bu gibi inner join kullanmak istiyorum performans açısından öneri ve görüşlerinize ihtiyacım var.

    Şimdiden; teşekkürler, kolay gelsin.
  • 05-01-2013, 20:01:19
    #2
    Doğru olan bu sezgin sıkıntı yok. içe içe whileden çok daha hızlıdır.
  • 05-01-2013, 20:06:19
    #3
    Üyeliği durduruldu
    mysql ve php aynı sunucu üzerinde çalışıyorsa farketmez. Çünkü ikiside işlemci kullanır.

    mysql ve php ayrı sunuculardaysa işlemci kullanımı hangisinde düşükse o kısıma yüklenmek doğrudur.
    Yani çok büyük bir databaseniz varsa ve mysql cok işlemci kullanıyorsa while ile iç içe döngü yapılabilir. Aksi her durunda inner join avantajlıdır.
  • 05-01-2013, 22:32:53
    #4
    bir çok yerde bu sorguyu kullanacaksan view oluşturmanı tavsiye ederim daha çok performans için bakabilirsin... ayrıca inner join yaparkende dikkat etmen gereken bir nokta kesin tabloda sonuç var ise doğru ama yoksa sorgun çalışmaz doğru olsa bile sonuç döndürmeyeceği için inner join ile bağlandığından boş sonuç döndürecektir... bunun yerinede yinede gelsin olmasa bile dersen left join ile kullanabilirsin