Array oder DB Eintrag?

ThiKool

Erfahrenes Mitglied
Hallo Community,

ich müsste einmalig Daten speichern, welche sich nicht verändern. Die eine Überlegung wäre ein Array mit ca. 80 von diesen Einträgen:

Code:
array(
    array(
        "id"=>1,
        "wert1" =>"wert1",
        "wert2" =>"wert2",
        "wert3" =>"wert3",
        "wert4" =>"wert4",
        "wert5" =>"wert5",
    ), array(
        "id"=>2,
        "wert1" =>"wert1",
        "wert2" =>"wert2",
        "wert3" =>"wert3",
        "wert4" =>"wert4",
        "wert5" =>"wert5",
    ),
    ........ 80x
);

Oder alternativ in eine Datenbank speichern.

Jetzt ist meine Frage, was die besser Lösung ist, da ich ja den Array bei Bedarf auch per foreach durchsuchen müsste, ähnlich wie einer DB Abfrage.

Danke euch.
 
Wenn du nicht aus irgendeinem Grund eine DB dafür benötigst, würde ich keine dafür nehmen. Keep it simple. Umstellen kannst du es ja später bei Bedarf immer noch.
 
Danke,

gibt es den Performance - Gründe die für einen Array sprechen würden? Ansonsten habe ich mit einer DB schon schönere Sortierfunktionen usw. über einen Select, die ich mir sonst erstmal mit einem foreach() bauen müsste.
 
Hoi,

meiner Meinung nach ist eine Datenbank-Lösung einfacher zu verstehen und warten. Vorallem in PHP, wenn du da auf einmal ein 3-Dimensionales Array mit irgendwelchen Werten vor dir hast und sich dieses über mehrere Hundert Zeilen streckt, dann verliert man da ganz schnell den Überblick.
Die Datenbank macht das System auch von Haus aus flexibler, Änderungen lassen sich so schneller und ohne Redundanzen umsetzen. Vom Aufwand her würde ich die beiden Lösungen relativ gleich einordnen. Deine Aussage, dass sich die Daten nicht verändern mag zwar im Moment richtig sein, aus eigener Erfahrung kann ich dir aber nur raten solche Aussagen nicht einfach so hinzunehmen. Erst meint der Kunde dass sich die Daten nicht ändern werden, nach 1-2 Monaten kommt er dann und will dann doch noch ein Feld dazu oder anders haben. Das habe ich selbst schon mehr als ein paar mal erlebt.

Grüsse,
BK
 
Hier weiß ja niemand, was jetzt genau mit den Daten angestellt werden soll, aber ich bin schon der Ansicht, dass eine PHP-Datei mit einem Array erst mal eine bedeutend simplere Lösung ist als der Einsatz einer Datenbank. Das hat viel weniger Abhängigkeiten (DB-Server), man muss beim Deployment keine Tabellen synchronisieren, man muss keine Zugangsdaten irgendwo ablegen, man kann den Inhalt mit einem Texteditor bearbeiten (wird hier nicht gewünscht, aber für eine DB braucht es halt schon speziellere Software), man muss sich keine Strategie für Backup und gegebenenfalls Versionierung der DB-Inhalte überlegen.

Ich glaube aber, es ist so oder so reine Glückssache, ob unsere Antworten dem TE was bringen. Am Ende baut er sich total kompliziert zig SQL-Konstrukte nach, weil ich geschrieben habe, dass sich in trivialen Fällen eine DB nicht lohnt. Das will ich natürlich auch nicht bezwecken.

Dann die Frage nach der Performance bei ~80 Einträgen. Das ist einfach nicht wahnsinnig relevant.
 
Im besten Fall abstrahierst du auch den Zugriff auf die Daten, sodass du bei einem etwaigen Wechsel nur die Implementierung ändern muss, nicht jedoch die aufrufende Seite (d. h. die, die auf die Daten zugreift).
 
Array ist erstmal performanter da kein DB Zugriff statt finden muss.
Allerdings ist die Frage wie wichtig die Performance bei deinem Projekt und im konkreten Fall ist (Sind es viele tausende Zugriffe pro Sekunde auf dieses Array?) - wenn nicht und die DB eh auf dem selben Server liegt dann nimm die DB. Und dann einfach keine unperformanten Selects schreiben ;)
 
Und warum die DB nehmen? Weil weniger performant? ;)

Da fehlen in deinem Beitrag irgendwie die Argumente.
 
@mermshaus
Weils über eine DB viel einfacher ist die Daten so zu sortieren und arrangieren wie man es will.

Die Argumente hat er ja selbst geliefert, er findet eine DB einfacher zu handhaben. Und wegen ein paar milisec würde ich nicht darauf verzichten.
 
Zurück