Wie am besten Datenbank durchsuchen?



  • hi,
    es gab hier bestimmt schon viele Threads über das Thema, aber ich will mich mal mit dazu gesinnen.

    Ich habe eine (selbstgeschriebene; als C++ Klasse, obwohls eigentlich völlig egal ist 😉 ) Datenbank mit ca 5000 Zeilen. Als Schlüssel dient dabei ein 128 Bit Integer (um genau zu sein, schlicht ein md5-Hash). Sooo jetzt möchte ich in dieser db nach einem bestimmten Hash suchen, wie würdet ihr das machen?

    Ich würde vielleicht einen 2D-Array mit je 256 Einträgen erstellen und in diesem speichern, wo der betreffende Bereich los geht. So würde ich eben in [12][84] die Adresse der ersten Zeile abspeichern, die mit 1284h los geht. Somit währe ich schonmal grob in der nähe der gesuchten zahl und würde so den Bereich auf ca 200 Einträge einschränken, was ja schonmal gehörig Speed bedeutet.

    Wie gesagt, wie würdet ihr sowas angehen?



  • Mir fällt da spontan der Begriff "Suchbaum" ein.



  • Ja, ein schöner balancierter Binärbaum ist genau das, was in Datenbanken für einen Index verwendett wird.


Anmelden zum Antworten