Kom ihåg mig?
Home Menu

Menu


MySQL: Para ihop medlemmar 2 & 2?

 
Ämnesverktyg Visningsalternativ
Oläst 2014-07-04, 19:54 #1
Alexs avatar
Alex Alex är inte uppkopplad
Administratör
 
Reg.datum: Sep 2004
Inlägg: 1 621
Alex Alex är inte uppkopplad
Administratör
Alexs avatar
 
Reg.datum: Sep 2004
Inlägg: 1 621
Sista varianten som jag bidrar med: http://pastebin.com/MKvfp6cQ, ökar effektiviteten en aning genom att sätta keyn på grupparrayen till userid och att faktiskt ta bort redan matchade användare ur grupperingen.

Där har du också det andra förbättringsexemplet, som använder en rekursiv metod för att hitta matchningar istället för en loop. Loopen verkar dock vara aningen snabbare, så jag kommenterade ut den och optimerade loopen istället.

Det finns nog ett och annat trix du fortfarande kan göra för att snabba upp det. Men jag funderade lite på detta på vägen hem från kontoret. Hade det inte varit smartare att bara hitta en match så fort någon signar upp sig till eventet? Då får du typ ingen ansträngning alls, och du kan göra allt på sättet du är bekväm i.
__________________
@Zn4rK - Börja blogga - Paintball i Göteborg
Det jag skriver är mina personliga åsikter och återspeglar inte vad WN eller andra företag jag representerar tycker.
Alex är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-07-04, 20:11 #2
rhdf rhdf är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2006
Inlägg: 359
rhdf rhdf är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2006
Inlägg: 359
Citat:
Ursprungligen postat av Alex Visa inlägg
Hade det inte varit smartare att bara hitta en match så fort någon signar upp sig till eventet? Då får du typ ingen ansträngning alls, och du kan göra allt på sättet du är bekväm i.
Vettigt. Enda problemet är ju hur man gör med den första som reggar sig
Eller för den delen, om det inte finns några registrerade som matchar preferenserna man anger.

Så i slutänden kommer man ändå behöva köra någon form av matchnings-algortim som "städar upp" (dock kommer den antagligen inte behöva hantera lika stora mängder data.)
rhdf är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-07-04, 20:41 #3
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
Citat:
Ursprungligen postat av Alex Visa inlägg
Sista varianten som jag bidrar med: http://pastebin.com/MKvfp6cQ, ökar effektiviteten en aning genom att sätta keyn på grupparrayen till userid och att faktiskt ta bort redan matchade användare ur grupperingen.
Tack så mycket för ditt deltagande, har varit mycket lärorikt

Citat:
Ursprungligen postat av Alex Visa inlägg
Hade det inte varit smartare att bara hitta en match så fort någon signar upp sig till eventet? Då får du typ ingen ansträngning alls, och du kan göra allt på sättet du är bekväm i.
Mjao jo, i teorin, men det blir lite konstigt ändå av diverse anledningar

Just nu i början när vi bara kör 1 gruppering per event så skulle det fungera bra, men tanken är att om evenemanget blir hyfsat populär så kommer vi utöka antalet grupper, grupp A (dom 500 grupperna som 1000 deltagare skulle ge), sen grupp B, grupp C, grupp D...........semifinal, final. (är inget spel men kommer ändå struktureras som en liggande spelpyramid), 2 minuter per grupp, vilka som går vidare baseras på den tidigare gruppens score, så vi måste ändå köra matchningen efter varje runda.

Eller om man kör alla deltagare i grupp efter grupp, kanske 10 grupp ronder så vill jag ha random matchningar varje gång, detta går ju att förkalkylera men ja, denna algoritmen kan ju användas till flera olika saker som inte kan förkalkyleras.

Och som rhdf nämnde, personer som inte kunde matchas, dom måste vi ju ändå para ihop random när eventet väl kör igång :P

Så vi kan bara förkalkylera första gruppen, men sen behöver vi ändå denna matchningsalgoritmen resterande grupper :P
JesperA är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 08:29.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017