Mysql many to many sorgu işlemi nasıl olmalı?
Veritabanı Yapısı
+uyeler
id
+kategori
id
+uyeler_kategoriler
uyeID
kategoriID
Benim sorgum da şu şekilde ama sunucu kaynağını tükettiğini düşünüyorum
$Sorqu = $conn->prepare("SELECT * FROM uyeler JOIN uyeler_kategoriler on uyeler_kategoriler.uyeID = uyeler.id WHERE uyeler_kategoriler.kategoriID=? AND durum=? ORDER BY RAND()");
$Sorqu->execute(array($anasayfakat["id"], 'Yayında'));
Bu sorgu da hata var mı?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
@dnzclk hocam sunucu kaynağını tükettiğini düşünmekte haklısın bunun nedeni RAND() fonksiyonu. Hatta bunun ile ilgili bir makale vardı şimdi linki hemen bulamadım. RAND() fonksiyonu SQL sorgularını %90 oranında yavaşlattığını iddia ediyorlardı. BENCE RAND() işlemini SQL yerine PHP'ye yaptırmalısın.