Da, gruop_contact je ono što mi je trebalo…da mi grupira rezultat
A ovaj zadnji query jednostavno neće…mada se i meni čini da bi trebao raditi. Čačkao sam dosta, al nikako s njim na zelenu granu.
Nakraju napravio ovako: (sam query je onda zadan bez offseta i limita)
while($row = mysql_fetch_assoc($result))
{
$count++;
if($count>$offset && $count<=$limit) array_push($medij,$row);
}
Niti mi je u ovom slučaju bitna neka optimizacija, pa dobijem barem brojanje točno onoga što i dohvaćam bez slaganja dvaju query-a. (kad neznam izvesti u jednom, ako se moze opce)
…a s druge strane, mjerio sam vrijeme, jer sam negdje nekad pročitao da limit i offset ne ubrzavaju dohvaćanje. I ispalo je da nema razlike selektirao li ja svih 200 medija, ili samo onih 20 koji se nalaze u traženom offsetu. To je bilo kod korištenja REGEXP-a, dok bez regexp-a ipak postoji neka razlika.
350 elemenata odgovara dohvaćanju, ukoliko dohvaća sve (bez limita) , ciklusi od 50 dohvaćanja traju ukupno 0.32 sec
Dok isti query, limitiran na samo 1 element, isto 50 ciklusa, traje 0.26 sec. Znači razlika po jednom ciklusu je samo 0.0012sec ili možda bolje izraženo 18.75% (ali s limitom na samo 1)
Dok recimo limit 0,200 odradi sporije nego dohvaćanje bez limita svih 350 elemenata.
Sa regexp-om, sa limitom na 1, od ukupnih 200 radi brže samo 1.15 %
Zaključno, poseban query za prebrojavanje i poseban za dohvaćanje s limitom bi mogli biti i sporiji nego ovaj gore zdravo seljački pristup