Archief - featured video op mainpage

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Indieanus

Legacy Member
beste,

Ik vraag me af wat de beste (mooiste/elegantste) manier is, om volgend geval op te lossen:

ik ben een site aant coden waarbij veel youtube-video's opgeslagen worden in een database. Hierbij wil ik ook steeds 1 video op 'home' laten verschijnen. Een video die 'hot' is.

Plan 1: ik maak een kolom bij in mijn mysql-tabel. Deze kolom noem ik 'hot', standaardwaarde 0. Bij 1 verschijnt de video op 'home'. Geen probleem hier. Maar bij het kiezen van een nieuwe 'hot video' na enkele dagen, stoot ik mss wel op een probleem?
-als ik bij een nieuwe video (via admin paneel) 'hot' aanvink, en de rest allemaal '0' laat zetten, kan dit wel eens een lange bewerking worden. (stel dat ik na verloop van tijd 300+ video's in database heb)

Kan ik niet beter bij het kiezen van een nieuwe 'hot' video. Deze video opslagen in een nieuwe mysql table waar juist die ene video in staat?

Wnr ik dan een nieuwe video kies, leeg ik eerst de table, waarna ik de video opslaag ?

of zijn er nog andere (en betere) suggesties?


(ik hoop dat ge mijn vraag ongeveer snapt ;) )

passero

Legacy Member
2 update statements:

update videos set hot = 1 where id = uwId;
update videos set hot = 0 where id != uwId;

Gaat super snel gaan hoor... zelf heb je duizenden videos in de DB zitten...

Flipkikker

Legacy Member
Je geeft iedere video een id mee en je refereert in een aparte tabel "ShowHot" naar die video adhv het id ?

hinkle

Legacy Member
passero zei:
2 update statements:

update videos set hot = 1 where id = uwId;
update videos set hot = 0 where id != uwId;

Gaat super snel gaan hoor... zelf heb je duizenden videos in de DB zitten...


bij de 2e statement gaat hij wel elke row in uw tabel updaten... beter zo :

update videos set hot = 0 where hot = 1
update videos set hot = 1 where id = uwId

hier doet hij maar 2 updates.

of de oplossing van de post hierboven...

WHiSPy

Legacy Member
stoontkikker zei:
bij de 2e statement gaat hij wel elke row in uw tabel updaten... beter zo :

update videos set hot = 0 where hot = 1
update videos set hot = 1 where id = uwId

hier doet hij maar 2 updates.

of de oplossing van de post hierboven...

Op zich gaat dat performantie-verschil wel mee vallen, hoor. Het is niet alsof ie een tabel van ettelijke miljoenen records gaat creëeren, hé. :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan