v2.5.2
Giriş yap

Mysql many to many sorgu işlemi nasıl olmalı?

dnzclk
486 defa görüntülendi

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ı?

Cevap yaz
Cevaplar (1)
jct
1135 gün önce

@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.