Hallo,
Datenbanksoftware ist für sowas optimiert. Bei grossen Datenmengen ist das jedenfalls die bessere Lösung.
Ich kenne mich mit SQL und so nicht gut aus, aber so wie ich das verstehe sehen Abfragen normalerweise sinngemäß so aus:
"Zeige mir alle Einträge aus Tabelle 'Farben', die in Spalte 'Eigenschaften' den Wert 'groß' oder 'klein' haben".
Daraus bekommst Du zB ein Array mit den Passenden Zeilen, etwaige Berechnungen (zB. Durchschnitt) würdest Du glaub ich sowieso im Programm machen. (man korrigiere mich, wenn das schon mit SQL möglich ist)
Sie bringt Vorteile zB.:
in Bezug auf performance (bei großen Datenmengen), bei der Flexibilität, bei Sicherheit, Integrität, komplexe Beziehungen zwischen Tabellen
Sie bringt Nachteile zB.:
- wenn man sich mit der entsrechenden Abfragesprache / Schnittstelle nicht auskennt, das Problem also wesentlich schneller ohne gelöst bekommt
- wenn man die Daten im ASCII format ("klartext") braucht (zB aus anderen Programmen editieren will)
- wenn das DBMS selbst unverhältnismässig viel Speicherplatz / Performance verbraucht
Performance:
Ich hab mir für Javascript als groben Richtwert gemerkt, daß es bei Textdateien mit ca. 10.000 Zeilen langsam wird (incl. suchfunktionen und DOM manipulation). Darunter überhaupt kein Problem.
Man muss aber auch die Anforderungen berücksichtigen:
Bei vielen Anfragen summieren sich auch kleinste Verzögerungen (interessieren einen Größenordnungen von Sekunden oder Milli-/Nanosekunden).
siehe:
SQL
oder Detailierter:
Relationale_Datenbank /
Datenbank
Datenbanksprache /
Abfragesprache