Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Decyzja, kiedy utworzyć indeks na kolumnie tabeli w bazie danych?

Nie twórz indeksów w każdej kolumnie! Spowolni to operacje wstawiania/usuwania/aktualizowania.

Jako proste przypomnienie, możesz utworzyć indeks w kolumnach, które są wspólne w WHERE , ORDER BY i GROUP BY klauzule. Możesz rozważyć dodanie indeksu w kolumnach, które są używane do powiązania innych tabel (poprzez JOIN , na przykład)

Przykład:

SELECT col1,col2,col3 FROM my_table WHERE col2=1

W tym przypadku utworzenie indeksu na col2 bardzo pomogłoby w tym zapytaniu.

Weź również pod uwagę selektywność indeksu. Mówiąc najprościej, utwórz indeks dla wartości, które mają „dużą domenę”, tj. Identyfikatory, nazwy itp. Nie twórz ich w kolumnach Mężczyzna/Kobieta.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle odpowiednik SQL Server DATEPART

  2. uzyskiwanie listy rozdzielanej przecinkami w pobliżu „xx.yy” jest nieprawidłowe z dbms_utility.comma_to_table

  3. Jak uniknąć błędów mutacji tabel

  4. Znajdź wyciek połączenia w aplikacji Java

  5. Zapytanie o dwie tabele z innego schematu