Avatar billede Slettet bruger
07. juni 2010 - 13:28 Der er 6 kommentarer

Hvordan laver man sådan at profilerne bliver ændret, random.

Hej eksperter..

Hvordan laver man sådan at profilerne bliver ændret, random.

Jeg har en side med alle profilbillederne på:

i kan se min kode her:
http://codepad.org/bEPnjI2J

Men vil gerne have at billederne ændre deres positioner, altså random...

Håber i kan hjælpe mig med det.. :))
Avatar billede repox Seniormester
07. juni 2010 - 13:32 #1
SELECT * FROM profilepicture ORDER BY RAND()
Avatar billede shjorth Nybegynder
08. juni 2010 - 03:29 #2
Hvis du ved hvor mange du skal hente ud af gangen, ville jeg nok bruge php's rand funktion.

mysql og rand() er meget tungt for databasen
Avatar billede repox Seniormester
08. juni 2010 - 08:58 #3
#2
Hvad er 'meget tungt' og hvornår kan det betale sig at flytte ressourcen ud i PHP? Der skal godt nok meget data til, før RAND() giver nogle bemærkelsesværdige problematikker. Om forskellen så er 2ms eller 4ms i performance, så skal man godt nok være noget regid for ikke at kunne abstrahere fra en så lav performance 'forbedring'...
Avatar billede shjorth Nybegynder
08. juni 2010 - 13:34 #4
Altså mysqls rand funktion, den læser jo alle rækker. Så hvis der eksempelvis er 500k rækker, så skal de alle læses igennem før der bliver fundet en.

Du har formentlig ret. Jeg rendte bare ind i det problem, at ligeså snart der kom noget kød på tabellerne, så sløvede rand() det utrolig meget.

Det er sikkert kun relevant når vi snakker mange tusinde rækker ?
Avatar billede repox Seniormester
08. juni 2010 - 13:40 #5
Selv ved 200k rækker er der ikke en forskel jeg er interesseret i at optimere efter - derfor bør man også tage situationen i betragtning; OP fortæller jo om at det er profiler vi snakker om... jeg antager det er bruger profiler - og hvor mange sites har reelt set over 200.000 brugere? Særligt hvis stadiet ligger i det spænd der hedder sig at man indhenter hjælp fra Eksperten.dk for at få sit site op at stå (ikke for der overordnet set er noget i vejen med at få hjælp, men jeg forsøger at rette fokus på omfanget af data).
Avatar billede shjorth Nybegynder
08. juni 2010 - 13:43 #6
Det kan du selvfølgelig have helt ret i. Det var bare lige den begrænsede viden jeg kunne bringe på banen :)

Selvom rand er rigtig god nogle gange, så har jeg oplevet at den knækker databasen - ihvertfald ved 800k rækker.

Men jo du har da ret. Det var så absolut heller ikke for at komme og være klog på nogen måde :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester