Citat:
Ursprungligen postat av deejam
Varför krångla till det så? Hämta ut alla bilder tillhörande ett album. Använd sedan PHP för att välja vilken bild som skall visas. På det viset så är det enkelt om du vill skapa mer funktionalitet i framtiden, exempelvis visa en miniatyr av kommande/föregående bild etc.
Om ett album har 10 bilder så vandra 1,2,3 etc. PHP vet ju hur många bilder som finns i albumet. Blir dessutom 1 query per album.
Ett särdeles tanklöst tips med tanke på att HTTP är stateless. Det blir alltså en query per album
per sidladdning, per besökare, såvida man inte cachear resultatet på något sätt med någon form av sliding expiration, men då hamnar krånglet där istället.
Det blir iofs en query per page hit oavsett om man laddar alla poster eller bara en. Om albumet har 10 bilder och sidan har få besökare så kanske det kvittar att man brute:ar skiten, men när datamängderna och trafiken ökar blir det plötsligt väldigt ineffektivt att returnera 300 poster för att sedan bara bry sig om en av dem, för att vid "Next>>" ladda samma 300 poster men bara bry sig om nästa post.