Datenbank-Indizes und Ihre Big-O-notation

Ich versuche zu verstehen, die Leistung von Datenbank-Indizes in Bezug auf die Groß-O-notation. Ohne zu wissen viel über es, ich würde vermuten, dass:

  • Abfragen in einer primary key-oder unique-index geben Sie einen O(1) lookup-Zeit.
  • Abfragen auf einen nicht eindeutigen index wird auch geben, ein O(1) Zeit, wenn auch vielleicht die '1' ist langsamer als bei der eindeutigen index (?)
  • Abfrage auf eine Spalte ohne index geben Sie einen O(N) - lookup-Zeit (full table scan).

Ist diese Regel richtig ? Wird die Abfrage auf einen Primärschlüssel je geben schlechtere Leistung als O(1) ? Mein besonderes Anliegen ist für SQLite, aber ich wäre daran interessiert zu wissen, inwieweit diese variiert zwischen verschiedenen Datenbanken zu.

InformationsquelleAutor mikel | 2011-01-14
Schreibe einen Kommentar