PHP + MySQL, denormalisera bilder
Tjenare!
Jag har ett litet community för skojs skull, mest för att experimentera med olika lösningar osv som sen appliceras på ett av mina lite mer seriösa projekt.
Det mesta är redan denormaliserat, inga JOINS används för forumposter tex men problemet är att jag nog skulle vilja göra samma sak för bilder.
Man kan bifoga upp till 10 bilder per foruminlägg och för att hämta dessa bilder ser queryn ut ungefär såhär:
<?php
$images_query = mysql_query(
"SELECT
`imagename`
FROM `post_images`
WHERE `image_post_id` = $post_id
");
while ($image_query = mysql_fetch_assoc($images_query)) {
$image_query['imagename'];
} ?>
Det finns just nu ca 50´000 rader i post_images databasen, tar ju inte så jättelång tid att hämta bilderna och queryn ovanför körs endast om forum inlägget har bilder.
Men ändå, känns som man kan optimera lite ändå, eftersom man ändå har en query för att hämta alla forum inlägg så tänker jag att man lika gärna kan lägga in ett forum inläggs bifogade bilder redan där så slipper man köra ännu en query för att hämta bilderna.
Tex när man skriver ett forum inlägg så kan man ju köra något i stil med:
<?php
$images_query = mysql_query(
"SELECT
`imagename`
FROM `post_images`
WHERE `image_post_id` = $post_id
");
while ($image_query = mysql_fetch_assoc($images_query)) {
$postimages .= $image_query['imagename'] . ','
} ?>
Den skapar då en lista som ser ut något i stil med: "bild1.jpg,bild2.jpg,bild3.jpg,bild4.jpg,bild5.jpg" som man sen sparar i databasen för foruminläggen och har en kolumn som heter något i stil med "post_images" eller whatever.
Sen för att visa dom bifogade bilderna för ett visst forum inlägg så hämtar man bara $post_query['post_images'] som ger resultatet "bild1.jpg,bild2.jpg,bild3.jpg,bild4.jpg,bild5.jpg", sen kör man bara en PHP explode via "," och sen en foreach loop på det.
Vad tror ni om det? Det borde väl vara snabbare och mindre resurskrävande att göra en explode på upp till 10 bilder än att leta upp dessa bilder från databasen på varenda foruminlägg i forumtråden som har bilder?
Förstår att jag förklarar sjukt otydligt men hoppas ni hängde med på det mesta iaf
PS. Ja jag särkrev foruminlägg
Hur kan syltkakor överleva i det vilda utan ögon?