Spieletabelle effizienter gestalten

#1
Hallo erstmal,
ich habe folgendes System auf meiner Website implementiert:
- User können Duelle erstellen.
- Bei diesen Duellen müssen sie Items aus ihrem Inventar hinzufügen.
- Ein anderer User kann dann diesem Duel mit seinen Items aus seinem Inventar joinen.
- Einer der beiden gewinnt den gesamten Pot.


Nun will ich alle Spiele(Duelle) auflisten. Dies braucht aber, so wie ich jetzt mache folgende SQL Abfragen:
Code:
mysqli_query("SELECT id, creator, joiner FROM duels")

while(result){
    $game_id = $result['id'];

    mysqli_query("SELECT item_id FROM duel_items WHERE game_id = ".$game_id)

    while(result){
        $item_id = $result['item_id'];

        mysqli_query("SELECT name, price, color ... FROM items WHERE id = ".$item_id)
        $name = $result['name'];
        $price = $result['price'];
        $color = $result['color'];
    }

}
Bei ca. 10 Spielen wären wir dann bei 21 Abfragen im besten Fall(Wenn jeder Spieler nur 1 Item gesetzt hat.).
Dies ist nicht sehr effizient. Wenn die Spieler nun jeder 8 Items setzen, und wir bei, sagen wir, 50 Games sind...Dann wären das satte 401 Anfragen... extrem!

Grade gemerkt, dass da noch eine abfrage pro Item extra kommt(Rarity).
Das wären also nochmal 8*50 Anfragen dazu.

Das möchte ich gern besser lösen. Da ich aber noch nicht so viel Erfahrung mit Datenbanken etc. habe, bin ich da etwas überfragt.

Ich habe folgende Tabellenstruktur:

duels:
-----------------------------------------------------------------------------------
|| id || creator || joiner || winner_id || flipResult || status || expires ||

duel_items:
-----------------------------------------------
|| id || game_id || player_id || inv_id ||

ítems:
------------------------------------------------------------
|| id || name || image || rarity_id || color || price ||


Hat eventuell irgendjemand eine Idee, wie ich das effizienter gestalten kann?
Wenn 50 User gleichzeitig Duel's spielen, macht die Seite das nicht sehr lange mit.(Laggs etc.)

Vielen Dank schon einmal im Voraus.
MfG CubE135
 
Oben