Umm da.. dar lui ii returna cu virgula (punct, ma rog) si acum am observat de ce. Deoarece random id are acelasi nume ca si coloana id.
So, si mai bine:
SELECT * FROM produse AS a JOIN ( SELECT RAND()*( SELECT MAX(id) FROM produse ) AS rid) AS b WHERE a.id >= b.rid and categorie='$categorie' and subcategorie='$subcategorie' LIMIT 15
Incearca cu acest query evolution.
Incearca sa faci si un composite index. Adica pui un index pe 3 coloane: id, categorie, subcategorie (in ordinea asta)
In legatura cu MAX(id).. credeam ca SELECT id FROM produse ORDER BY id DESC LIMIT 1 e mai rapid decat SELECT MAX(id) FROM produse.. Dar se pare ca m-am inselat. Sunt la fel (0.0001 sec pt 376243 inregistrari)



Răspunde cu citat