Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Entscheidung, wann Index für Tabellenspalte in Datenbank erstellt werden soll?

Legen Sie nicht in jeder Spalte Indizes an! Es verlangsamt die Vorgänge beim Einfügen/Löschen/Aktualisieren.

Zur einfachen Erinnerung:Sie können einen Index in Spalten erstellen, die in WHERE gemeinsam sind , ORDER BY und GROUP BY Klauseln. Sie können erwägen, einen Index in Spalten hinzuzufügen, die verwendet werden, um andere Tabellen zu verknüpfen (durch einen JOIN , zum Beispiel)

Beispiel:

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

Hier würde das Erstellen eines Indexes auf col2 dieser Abfrage sehr helfen.

Berücksichtigen Sie auch die Indexselektivität. Einfach ausgedrückt, erstellen Sie einen Index für Werte, die eine "große Domäne" haben, z. B. IDs, Namen usw. Erstellen Sie sie nicht für männliche/weibliche Spalten.