Hallo Leute,
ich beschäftige mich momentan etwas mehr mit den internen Funktionen von Datenbanken und versuche nebenbei auch selbst eine Datenbank zu entwickeln. Doch leider verstehe ich nicht so ganz, wie der Index einer Datenbank funktioniert.
Wenn ich einen Integer Primärschlüssel habe, dann kann ich die Datenbank auf ein Array abbilden und habe eine mittlere Zugriffszeit von O(1). Das ist soweit klar.
Doch wie ist es bei Strings als Index? Wenn ich ein String habe, muss ich ihn zunächst hashen und anschließend z.B. in einem Baum nach den Werten suchen. Das hat schon eine deutlich höhere Laufzeit zur Folge.
Wie machen sowas denn die großen Datenbanksysteme?
ich beschäftige mich momentan etwas mehr mit den internen Funktionen von Datenbanken und versuche nebenbei auch selbst eine Datenbank zu entwickeln. Doch leider verstehe ich nicht so ganz, wie der Index einer Datenbank funktioniert.
Wenn ich einen Integer Primärschlüssel habe, dann kann ich die Datenbank auf ein Array abbilden und habe eine mittlere Zugriffszeit von O(1). Das ist soweit klar.
Doch wie ist es bei Strings als Index? Wenn ich ein String habe, muss ich ihn zunächst hashen und anschließend z.B. in einem Baum nach den Werten suchen. Das hat schon eine deutlich höhere Laufzeit zur Folge.
Wie machen sowas denn die großen Datenbanksysteme?