großes Array, mysql oder includes?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • großes Array, mysql oder includes?

    Hallo liebes Forum
    Ich bin mir gerade unsicher, was Performace-technisch am geeignetsten ist und hoffe jemand kann mir weiterhelfen.

    Ich bin momentan an einem größerem Spielprojekt am rumbasteln, wo ein Teil ein sogenanntes "Quest-system" wird.
    Sprich: Es gibt gewisse Aufgaben, die zu lösen sind und für dessen Lösung es Belohnungen gibt.
    Technisch ist das ganze so gelöst, dass jedes Quest eine eigene Id hat und in die Datenbank ein Eintrag erstellt wird wo fortschritt, Quest-id und User-id gespeichert sind.
    Jetzt stellt sich mir nur die Frage: Von wo lade ich die zu dem Quest zugehörigen Beschreibungen?
    Problematik ist folgende: Es sollen einmal an die 200 Quests werden, das heißt doch ein bisschen was an Text.
    Meine erste Idee war, alle Quest-Beschreibungen in ein Array zu schmeißen und den Array-key mit der Quest-id gleichzusetzen.
    Das würde aber bedeuten, dass immer zuerst ein riesiges Array definiert werden muss (wo dann sämtliche Beschreibungen drin sind) um dann nur ein bis 3 Werte tatsächlich zu verwenden.

    Meine Frage ist nun: Ist es klüger eine neue mysql-Tabelle zu erstellen, in der alle Quest-Beschreibungen gespeichert sind, und immer nur aus Bedarf rausladen?
    Oder ist es klüger jede Questbeschreibung in ein eigenes File zu setzen und nur die benötigten Quests zu includen?
    Immerhin handelt es sich ja hierbei um fixe Daten, die nicht mehr verändert werden sollen. Es sind halt nur eine ganze Menge...

    Danke fürs lesen
    Liebe Grüße
    Jodli

  • #2
    Zitat von Jodli Beitrag anzeigen
    Es sollen einmal an die 200 Quests werden, das heißt doch ein bisschen was an Text.
    Wie groß (in KiB) ist denn so ein Text im Schnitt? Prinzipiell klingt die Anzahl 200 nach nicht viel, MySQL kostet das ein müdes Lächeln und möglicherweise machst du dir zu viele Sorgen?

    Normalisierung und eine vernünftige Indizierung der Datenbank sind wichtig.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Wow das ging ja flott

      Also ein Text hat warsch in etwa an die 700 Bytes. Für mysql wohl kaum der Rede wert, aber ich weiß nicht wie das bei php-Variablen ist. Arrays sind ja nicht als "db-Funktion" geeignet...

      Du meint also mysql wäre für diesen Fall geeigneter als php-Arrays oder includes?

      Das ich mir zu viele Sorgen mache, kann gut sein. Ich hatte nur in der Vergangenheit schon einmal ziemliche Performance-Probleme und seitdem bin ich bei neuen Projekten ziemlich vorsichtig, was solche Fragen angeht. Vor allem, wenn ich auf eine große Userschaft hoffe.
      Hinzu kommt noch mein Perfektionismus-Charakterzug, der mich immer nach der für die Situation perfektesten Lösung suchen lässt^^

      Danke für deine schnelle Antwort

      lg
      Jodli

      Kommentar


      • #4
        Zitat von Jodli Beitrag anzeigen
        Du meint also mysql wäre für diesen Fall geeigneter als php-Arrays oder includes?
        Bei 700B auf jeden Fall. Manche Leute halten sogar binäre Bilddaten in der DB. Bei sowas würde ich dann auch auf Dateien ausweichen, aber bei Text und vor allem so kleinen lohnt sich das nicht.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          ok, vielen Dank für deinen Rat!

          Dann kann man das hier als erledigt ansehen und zumachen.

          Danke nochmal

          lg
          Jodli

          Kommentar

          Lädt...
          X