Mysql
 sql >> Baza danych >  >> RDS >> Mysql

czy ustawienie kolumny do indeksowania w tabeli mysql zapewnia wyszukiwanie O(1)?

Żadne z wyszukiwań w aparatach MyISAM lub InnoDB MySQL nie jest wyszukiwaniem O(1). Te aparaty pamięci masowej używają B+Drzewa do implementowania indeksów. Najlepsze, co mogą zrobić, to O(log2 n) wyszukiwania.

MEMORY aparat magazynu domyślnie używa typu indeksu HASH, a także typu indeksu B+Drzewo. Tylko indeks HASH może uzyskać wyszukiwania O(1).

Typ danych indeksowanej kolumny nie zmienia tego w obu przypadkach.

Aby uzyskać więcej informacji na temat indeksów MySQL, przeczytaj http://dev. mysql.com/doc/refman/5.1/en/mysql-indexes.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. automatyczne zwiększanie drugiej kolumny

  2. Największa wartość z dwóch lub więcej pól

  3. Dołączanie wielu tabel MySQL

  4. Dlaczego środowisko pracy SQL zawsze zwraca wiersz pełen wartości null w każdym zapytaniu?

  5. Mysqli_fetch_assoc($result), wskaźnik przesuwa się do następnego rekordu. Czy istnieje sposób na zresetowanie wskaźnika na początek wyniku zapytania?