login  Naam:   Wachtwoord: 
Registreer je!
 Forum

te veel queries op 1 pagina

Offline daanlaan - 18/01/2009 19:24 (laatste wijziging 18/01/2009 21:45)
Avatar van daanlaanMySQL interesse Ik ben al een tijdje bezig aan een text based race game en alles loopt goed maar ik heb schrik dat er veel te veel queries gedaan moeten worden, dit is vooral door 1 pagina.
Het probleem is hier dat de gebruiker een stock heeft waar hij alle auto onderdelen plaatst.
en in je garage kan je de auto tunen door een onderdeel wat op de auto staat te vervangen met 1 van in je stock, hierna wordt de pagina herladen en moet er voor elk onderdeel dat je in stock hebt staan 1 query worden gedaan, dit kan dus gaan tot 25 a 30 queries!

in de tabel "stock" staan enkel de NAMEN van de onderdelen.
Dus als je dit onderdeel op je auto plaatst moet niet alleen de naam daar komen te staan maar natuurlijk ook de gegevens bv de snelheid die toeneemt bij een bepaalde uitlaat.

Daarom moet ik voor elk onderdeel dat in de stock zit een query als volgt maken:
$geg_uitlaat1 = mysql_query("SELECT snelheid FROM uitlaatshop WHERE uitlaat = '".$uitlaatstock1."' ");

Pak dat er nu 25 onderdelen in die stock staan, moet ik 25 aparte queries doen, kan ik dit ook in 1 query doen? of minder in ieder geval...
Ik hoop dat je het snapt

5 antwoorden

Gesponsorde links
Offline Martijn - 18/01/2009 19:26 (laatste wijziging 18/01/2009 19:35)
Avatar van Martijn Crew PHP daar kun je een simpele functie voor maken

  1. function snelheidUitlaat($int){
  2. if($int==1){$snelheid=10;}
  3. elseif($int==2){$snelheid=15;}
  4. //etc
  5. return $snelheid;
  6. }


en je tabellen herindelen zou ook wat kunnen zijn. Wat kan samen, wat moet je allemaal selecteren als je eigenlijk de gegevens van 1 ding compleet wilt? kijk hoever dat samen in 1 tabel zou kunnen
Offline daanlaan - 18/01/2009 19:58
Avatar van daanlaan MySQL interesse zo zou het kunnen maar dan staan de gegevens van de uitlaten al in de php pagina zelf en niet meer in de DB.
Ik heb ook al gedacht van alles in de tabel "stock" te plaatsen, maar dan heeft deze rond de 100 rijen... is dat niet wat veel?
Offline MiST - 18/01/2009 20:05
Avatar van MiST Lid 100 rijen veel? Denk ik niet. Ooit al eens gedacht hoeveel rijen het tabelletje 'users' van facebook heeft? 

Een database is juist ontworpen om belachelijk veel data op een overzichtelijke en geordende manier bij te houden. Met gebruik van de juiste technieken/methodiek en keys en stuff, is dat allemaal geen probleem. Zelfs zonder is het geen probleem, het duurt gewoon allemaal een beetje langer 
Offline Maarten - 18/01/2009 20:13
Avatar van Maarten Erelid JOINS! Er zijn momenteel twee tutorials op Sitemasters (waarschijnlijk duizenden op Google) die dit principe uitleggen. Tracht zelf een goeie query op te stellen door middel van joins, indien deze niet werkt kan je altijd je resultaat hier plaatsen en helpen we je graag verder om een goeie query op te stellen.

Het voordeel van die joins is dat je met 1 query gegevens, gekoppeld uit meerdere tabellen kan opvragen. Succes.
Offline daanlaan - 18/01/2009 20:31
Avatar van daanlaan MySQL interesse ik bedoelde dus kolommen, niet rijen 
maar als je 1 query doet met inner joins, is dat dan nog steeds even snel als 1 algemene andere query?
Ik had gedacht om elk gegevens van elk onderwerp bij in te voegen in de tabel stock, dan kan ik het ook doen met 1 query...
dus dat niet enkel de naam in de tabel stock staat maar ook de snelheid, acceleratie enz...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.17s