mysql kullanıcı değişkenleri.
Bir işlem için mysql ile kullanıcı dğeişkeni tanımlamam gerekti. işine gereken olur diye kodu buraya yazıyorum.
SELECT * FROM `sozler`
WHERE (IF(kat != @si, @row:=0, @row:=@row+1)) < 4
AND (@si := kat) IS NOT NULL LIMIT 0,40
Yaptığı işlem: bir tabloda kategori numaraları var (kat), tablodan 40 tane veri çekecek, fakat her kategoriye ait en fazla 4 kayıt çekecek. Bunu yapmak için SUB QUERY veya GROUP kullanmış örnekler gördüm ama iç içe query kullanmayı sevmiyorum, zaten çok fazla kayıt olunca yavaşlık farkediliyor.
Yukarıdaki örneğin nispeten daha hızlı çalışacağını düşünüyorum.
önce bunu yapıyor:
(IF(kat != @si, @row:=0, @row:=@row+1)) < 4
Sonra bu satırı işleyip sonraki satıra geçiyor.
AND (@si := kat) IS NOT NULL
Henüz yavaşlığını görmedim ama fikirlerinizi yazarsanız sevinirim.
Php
Oldukça mantıklı hocam. Sanırım bende bu yöntemi kullanmaya başlamalıyım :)
Php
hımm forum kategorileri içindeki konuları listelerken kullanabilirmiyim acaba bunu hocalarım