Próbuję zrozumieć wydajność indeksów baz danych w zakresie notacji Big-O. Nie wiedząc wiele o tym, domyślam się, że:Indeksy baz danych i ich notacja Big-O
- Zapytanie na klucz podstawowy lub unikalny indeks daje czas wyszukiwania O (1).
- Kwerenda na nieunikalnym indeksie również da czas O (1), aczkolwiek być może "1" jest wolniejszy niż dla unikalnego indeksu (?)
- Zapytanie o kolumnę bez indeksu da O (N) czas wyszukiwania (pełne skanowanie tabeli).
Czy to na ogół jest poprawne? Czy wysłanie zapytania o klucz podstawowy kiedykolwiek przyniesie gorszą wydajność niż O (1)? Moja szczególna troska dotyczy SQLite, ale chciałbym wiedzieć, w jakim stopniu różni się to również w różnych bazach danych.