Grundlagen der Datenbanken

Für eine Mitgliedertabelle mit 1 Million Zeilen wird erwogen, auf den Spalten MitgliedsNr (alle verschieden), Präfektur (47 Werte) und Geschlecht (2 Werte, etwa je zur Hälfte) jeweils einen B+-Baum-Index anzulegen. Bei welcher Spalte ist ein Index bei einer Suche, die in der WHERE-Klausel einen Wert für eine Spalte angibt, voraussichtlich am wenigsten wirksam?

  1. APräfektur
  2. BGeschlecht
  3. CMitgliedsNr
Antwort und Erläuterung anzeigen

Antwort: B. Geschlecht

Ein Index ist wirksam, wenn die Zeilen, die die Bedingung erfüllen, auf einen kleinen Bruchteil des Ganzen eingegrenzt werden. Jede MitgliedsNr ist verschieden, also passt nur eine Zeile, und der Index führt direkt zu ihr. Präfektur hat 47 Werte; bei gleichmäßiger Verteilung grenzt ein Wert die Suche auf etwa 1 Million ÷ 47 ≈ 21.000 Zeilen ein (etwa 2 % des Ganzen). Geschlecht hat zwei Werte mit etwa je der Hälfte, beide Werte treffen also auf etwa 500.000 Zeilen zu (etwa 50 %). So viele Zeilen einzeln über einen Index abzurufen ist oft langsamer als ein Full Table Scan, der die Tabelle von Anfang bis Ende liest; der Optimierer des DBMS wählt daher unter Umständen einen Ausführungsplan ohne den Index. Je mehr verschiedene Werte eine Spalte hat und je stärker eine Bedingung auf ihr die Zeilen eingrenzt (je höher die Selektivität), desto wirksamer ist ein Index darauf.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Datenbanken

  1. Welche Aussage beschreibt unter den als NoSQL bezeichneten Datenbanken die Eigenschaften eines Key-Value-Stores im Allgemeinen richtig?
  2. Welche Beschreibung des CAP-Theorems für eine verteilte Datenbank, die Kopien der Daten auf mehreren Servern hält, ist zutreffend?
  3. Welcher Begriff der relationalen Datenbanken bezeichnet eine Zeile einer Tabelle (Relation)?
  4. Welche Bedingung muss die Spalte (oder Spaltenkombination) erfüllen, die in einer Tabelle einer relationalen Datenbank als Primärschlüssel festgelegt wird?
  5. In einer Mitarbeitertabelle (MitarbeiterNr, EMail, Name, Abteilung) sind MitarbeiterNr und EMail für jeden Mitarbeiter verschieden und nie NULL. Name und Abteilung können mit denen anderer Mitarbeiter übereinstimmen. Welche Antwort nennt alle Schlüsselkandidaten dieser Tabelle?