Expert Seminar: Oracle Database Indexing
Geballtes Fachwissen mit praxisnahen Übungen vermittelt von Profis in 2-tägigen Kursen
Kleine Runde, großes Know-how
Buchen Sie jetzt eines der begehrten Tickets!
In diesem Seminar werden die wichtigsten Themen bezüglich Indizierung mit B*Tree und Bitmap Indizes in der Oracle-Datenbank behandelt – Text / XML / JSON / Domain-Indizes werden zwar je nach verfügbarer Zeit erwähnt und beschrieben, aber es wird nicht ausführlich darauf eingegangen – der Schwerpunkt liegt eindeutig auf den B*Tree / Bitmap Indizes:
- Grundlagen: Wie ist ein B*Tree-Index aufgebaut, wie ein Bitmap-Index und welche Konsequenzen ergeben sich daraus? Wie verändert sich ein Index bei DML-Operationen und was ergibt sich daraus?
- Index Access, Filter und Clustering von Daten: Welche Operationen sind beim Index-Zugriff wann wie kostspielig? Warum wird der sogenannte Clustering Factor von Indizes häufig von der Datenbank falsch berechnet und was kann man dagegen machen? Warum kann ein Full Table Scan deutlich effizienter als ein Zugriff per Index sein? Indizes und der Optimizer - was wird bei der Kostenberechnung berücksichtigt, was nicht? OPTIMIZER_INDEX_COST_ADJ / OPTIMIZER_INDEX_CACHING, System Statistiken etc.
- Index Design: Auf was ist beim Design von Indizes zu achten? Was ist für die Reihenfolge von mehreren Ausdrücken in einem Index relevant? Wann ist ein Bitmap-Index sinnvoll? Was sind Function Based Indizes? Was sind virtuelle Spalten? Wie hängen diese Features zusammen und wann verwendet man welches dieser Features?
- Index Options: Invisible / Unusable / Virtual / Partial-Indizes. Primary Key / Unique / Deferred Constraints und Indizes.
- Index Compression: Wie funktioniert dieses Feature und was bringt es? Welche Auswirkungen gibt es? Unterschied zwischen Basic und Advanced Low / High Compression
- Indizes und DML: Was sind die Auswirkungen von Indizes bei DML-Operationen auf einer Tabelle? Typische Szenarien bei gleichzeitiger Veränderung von Tabellen und welche Maßnahmen hier helfen können - was sind die potentiellen Auswirkungen dieser Maßnahmen?
- Index Monitoring: Wie kann ich eine bestehende Applikation bezüglich der Indizierung überwachen und auf was ist dabei zu achten?
- Foreign Keys und Indizes: Wann sollten Foreign Keys indiziert sein, wann ist es nicht notwendig?
- Index Rebuild: Wann ist es sinnvoll, einen Index aktiv zu reorganisieren? Welche Möglichkeiten gibt es dafür und wie unterscheiden sie sich?
Optionale Themen, je nach verfügbarer Zeit
- Partitionierte Indizes: Was ist der Unterschied zwischen lokalen und globalen Indizes? Wie können Indizes partitioniert werden? Welche neuen Features gibt es seit 12c diesbezüglich und wie können diese nützlich sein?
- Case Insensitive / Linguistic Indizes / Collation: Case Insensitive suchen mittels Index, neue Features diesbezüglich seit 12.2
- Über B*Tree- und Bitmap-Index hinaus – was für Möglichkeiten gibt es noch? Index Organized Tables, Hash und Indexed Cluster, Attribute Clustering, Konzept Domain-Indizes allgemein, Volltext / XML / JSON Indizes
- Automatic Indexing: Diese Option steht nur auf Exadata-Umgebungen zur Verfügung (On Premises / Cloud / Autonomous Database) - wie funktioniert dieses Feature? Auf was ist zu achten? Was ist derzeit noch nicht unterstützt?