Philipp Hasenfratz: Textdatei oder Datenbank für Such-Script ?

Beitrag lesen

Halihallo Gerd

Wäre die Verwendung einer DB-Datenbank deutlich schneller?

Bei kleinen Datenmengen ist die textuelle Verarbeitung über Flat-Files schneller. Aber
je grösser der Datenbestand, desto mehr holt die Verarbeitung über die Datenbank
(bei deinem derzeitigen Such-Algorithmus) auf und wird dann schliesslich viel, viel
besser.
Der Grund dafür ist einfach:
In einer Datenbank kannst du Indizies definieren, diese sind wahre Performancebuster,
da nicht mehr jeder Datensatz der Tabelle durchforstet werden muss, sondern diese
bereits wie in einem Telefonbuch sortiert vorliegen (man stelle sich ein unsortiertes
Telefonbuch vor, da dauert das Auffinden der gesuchten Adresse einige Zeit).

Natürlich könntest du dies auch im Flat-File nachprogrammieren, aber es macht wohl mehr
Sinn, sich auf getestete Datenbanksysteme zu verlassen, die das alles schon per se
mitliefern. Programmierst du den Algorithmus jedoch so um (Verarbeitung von
vorsortierten Listen und binärer Suche), kann's gut sein, dass die Datenbank nie an deine
Performance rankommt; aber ob sich der Zeitaufwand für eine eigene Umsetzung lohnt ist
deine Entscheidung.

Fazit: Bei deinem momentan implementierten Algorithmus (zeilenweises vorrücken und
testen) ist die Datenbank ab einer gewissen (nicht einmal sehr grossen) Datenmenge
eindeutig schneller. Verbesserst du deinen Algorithmus kannst du aber _einiges_
gutmachen; die Frage ist eben wie weit bzw. wie lange du noch weiterprogrammieren
möchtest.

Viele Grüsse

Philipp

--
RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.