Werbung

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Spieletabelle effizienter gestalten

Dieses Thema im Forum "SQL - Structured Query Language" wurde erstellt von CubE135, 14. Juni 2017.

  1. CubE135

    CubE135 New Member

    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 (Text):
    Quelltext kopieren
    1. mysqli_query("SELECT id, creator, joiner FROM duels")
    2.  
    3. while(result){
    4.     $game_id = $result['id'];
    5.  
    6.     mysqli_query("SELECT item_id FROM duel_items WHERE game_id = ".$game_id)
    7.  
    8.     while(result){
    9.         $item_id = $result['item_id'];
    10.  
    11.         mysqli_query("SELECT name, price, color ... FROM items WHERE id = ".$item_id)
    12.         $name = $result['name'];
    13.         $price = $result['price'];
    14.         $color = $result['color'];
    15.     }
    16.  
    17. }
    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
  2. coding-board

    coding-board Member

    Werbung
Die Seite wird geladen...
Ähnliche Themen - Spieletabelle effizienter gestalten Forum Datum
bubble sort effizienter machen? Algorithmen und Datenstrukturen 26. April 2006