📚
Lerndokumentationen
Datenbanken
Datenbanken
  • Willkommen
  • Grundlagen
    • SQL vs. NoSQL
    • NoSQL-Familien
    • CAP-Theorem
    • Vorgehen beim Erstellen
    • ACID - BASE
    • Indizes
  • SQL
    • Struktur
      • Datenbanken und Tabellen
        • Datentypen
        • Erstellen
        • Bearbeiten
        • Löschen
        • Constraints
          • NOT NULL
          • UNIQUE
          • PrimärschlĂĽssel
          • FremdschlĂĽssel
          • CHECK
          • DEFAULT
      • Daten
        • EinfĂĽgen
        • Aktualisieren
        • Löschen
    • Abfragen
      • Auswählen
      • Filtern
      • Operatoren
      • Reihenfolge
      • JOINS
      • Aggregatsfunktionen
        • Gruppieren
        • Filtern
      • Subqueries
    • Transaktionen
    • Datenschutz und Berechtigungen
      • Benutzerverwaltung
      • Rechte
    • Optimierung
  • MongoDB
    • Was ist MongoDB?
    • Struktur
      • Datenbanken und Collections
      • Daten
    • Abfragen
    • Indexing
    • Security
      • Authentifizierung und Autorisierung
      • Auditing
    • Backups
Bereitgestellt von GitBook
Auf dieser Seite
  • Bedeutung
  • Vorteile
  • Nachteile
  • B-Tree-Index
  • Eigenschaften eines B-Trees
  • Vorteile
  • Nachteile
  • Hash-Index
  • Eigenschaften eines Hash-Index
  • Vorteile
  • Nachteile
  1. Grundlagen

Indizes

Indizes sind essenzielle Strukturen in Datenbanken, die dazu dienen, den Zugriff auf Daten zu beschleunigen. Sie ermöglichen eine effizientere Suche und reduzieren die Zeit für Leseoperationen erheblich. Zwei der wichtigsten Indexierungsarten sind der B-Tree-Index und der Hash-Index, die unterschiedliche Vorteile und Anwendungsbereiche haben.

Bedeutung

Indizes verbessern die Leistung von Datenbanken, indem sie schnelle Such- und Sortieroperationen ermöglichen. Ohne Indizes müsste die Datenbank für jede Abfrage eine vollständige Suche (Full Table Scan) durchführen, was ineffizient ist.

Vorteile

  • Schnellere Abfragegeschwindigkeit durch Reduzierung der Anzahl der zu durchsuchenden Datensätze.

  • Optimierung von JOIN-Operationen.

  • Verbesserte Skalierbarkeit grosser Datenmengen.

Nachteile

  • Erhöhter Speicherbedarf.

  • Zusätzlicher Verwaltungsaufwand beim EinfĂĽgen, Aktualisieren und Löschen von Daten.

B-Tree-Index

Ein B-Tree (Balanced Tree) ist eine selbstbalancierende Baumstruktur, die Daten in einer geordneten Weise speichert und effiziente Such-, Einfüge- und Löschoperationen gewährleistet.

Eigenschaften eines B-Trees

  • Die Daten sind in aufsteigender Reihenfolge gespeichert.

  • Jeder Knoten hat mehrere Kindknoten.

  • Die Suche nach einem Wert erfolgt durch Vergleiche auf verschiedenen Ebenen des Baums.

  • Selbstbalancierend, sodass die Baumhöhe logarithmisch mit der Anzahl der Elemente wächst.

Vorteile

  • Effiziente Suche mit logarithmischer Komplexität O(log n).

  • Gute Performance fĂĽr Bereichsabfragen und sortierte Datenzugriffe.

  • Geeignet fĂĽr grosse Datenmengen mit vielen Leseoperationen.

Nachteile

  • Etwas langsamer als Hash-Index bei exakten Suchen.

  • Mehr Speicher- und Verwaltungsaufwand im Vergleich zu einfachen Indexstrukturen.

Hash-Index

Ein Hash-Index basiert auf einer Hash-Tabelle, die Schlüssel-Wert-Paare speichert und durch eine Hash-Funktion direkten Zugriff auf die gespeicherten Werte ermöglicht.

Eigenschaften eines Hash-Index

  • Jeder SchlĂĽssel wird durch eine Hash-Funktion in eine Speicheradresse umgewandelt.

  • Die Suche erfolgt direkt ĂĽber den berechneten Hash-Wert.

  • Keine geordnete Speicherung der Daten.

Vorteile

  • Sehr schnelle Suche mit konstanter Zeitkomplexität O(1) bei eindeutigen SchlĂĽsseln.

  • Effizient fĂĽr exakte Suchen (z. B. PrimärschlĂĽssel-Lookups).

Nachteile

  • Nicht geeignet fĂĽr Bereichsabfragen oder sortierte Datenzugriffe.

  • Kann zu Kollisionen fĂĽhren, die zusätzliche Speicherverwaltung erfordern.

  • Erhöhter Speicherverbrauch, insbesondere bei vielen Hash-Kollisionen.


Die Wahl zwischen B-Tree- und Hash-Index hängt stark vom Anwendungsszenario ab:

  • B-Tree-Index eignet sich gut fĂĽr Bereichsabfragen, sortierte Zugriffe und groĂźe Datenmengen.

  • Hash-Index ist optimal fĂĽr schnelle, exakte Suchabfragen auf eindeutigen Werten.

VorherigeACID - BASENächsteStruktur

Zuletzt aktualisiert vor 3 Monaten

B-Tree
Hash-Index