Bygga med fråga eller hantera array eller annat?

PHPportalen Forum Index » PHP
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
marcusgarden



Medlem i: 3376 dagar

Status: Offline



#742500
Inlägg Skrivet: 2019-03-25 06:03      Ämne: Bygga med fråga eller hantera array eller annat? Citera

Om jag ska bygga en lista som är uppdelad på antal saker, varje sak kan ha olika egenskaper varje egenskap kan finnas flera gånger på samma sak, hur göra på bästa sätt med tanke på prestanda?

T.ex.

Sak1 (egenskap1 (7ggr), egenskap2 (12ggr), egenskap3 (3ggr), ..., ...)
Sak1 (egenskap1 (15ggr), egenskap2 2ggr), egenskap3 (8ggr), ..., ...)
...
...

Alltså listan kan se ut som

Stol (ben (4st), fotstöd (2st), ryggpinnar (7st), ..., ...)
Bord (ben (4st), iläggsskivor (2st), sittplatser (12st), ..., ...)
...
...

Saker ligger i en egen tabell
Egenskaper ligger i en egen tabell
Antal egenskaper ligger i en egen tabell

Målet är att göra en html-tabell och visa allt inklusive en övre rad där egenskaper visas och den första kolumnen ska visa sakernas namn.

Idag skulle jag göra först en fråga (till db) om vilka saker som finns och rada upp dem.
På varje rad, alltså varje resultat från första frågan, skulle jag ställa ny fråga om vilka egenskaper som finns.

Kan/ska man göra på ett annat/bättre sätt?
T.ex. genom att hantera en array?
Eller at ställa själva frågan så att svaret redan finns i resultatet från frågan? Alltså med subqueries?

Tacksam för svar!
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4837 dagar
Från: Tavesta
Status: Offline



#742506
Inlägg Skrivet: 2019-03-25 12:57      Ämne: Citera

Jag hade nog lutat åt det sista alternativet. Subqueries.
Men det kan ibland vara lite svårförutsägbart vad som ger bäst prestanda i slutändan, så vill man vara säker så skulle jag nog försökt klocka tiden vad de olika alternativen kostar.
Man bör då köra koden flera gånger, och inte räkna in första försöket.

Annars tror jag också ditt nuvarande alternativ kan vara bra. Där kan du få stor nytta av att använda preparerade databasfrågor.
Alternativet med att använda arrayer i databasfrågor brukar ofta bli lite bökigt, men nu var det prestanda du frågade efter.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » PHP
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic