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

Ist ein global partitionierter Index besser (schneller) als ein nicht partitionierter Index?

Ich bin mir ziemlich sicher, dass Sie diese Referenz bei Ihrer Recherche gefunden haben - Partitionierte Tabellen und Indizes . Ich gebe jedoch einen Link dazu, falls jemand daran interessiert ist, dies ist ein sehr gutes Material über Partitionierung.

Direkt auf den Punkt gebracht - Der partitionierte Index zerlegt den Index einfach in Teile (16 in Ihrer Situation) und verteilt die Daten abhängig von ihrem gehashten Partitionierungsschlüssel. Wenn Sie ihn verwenden möchten, "berechnet" Oracle den Hash des Schlüssels und bestimmt, in welchem ​​Abschnitt mit der Suche fortgefahren werden soll.

Da ich weiß, wie die Indexsuche funktioniert, denke ich, dass es bei wirklich großen Daten besser ist, den partitionierten Index zu wählen, um den Indexbaum zu verkleinern, den Sie durchlaufen (regulärer Index). Es hängt wirklich von den Daten ab, die sich in der Tabelle befinden (wie der reguläre Indexbaum zusammengesetzt ist) und Hashing und direkter Sprung zum unteren Knoten schneller als die normale Baumdurchquerung vom Startknoten.

Schließlich müssen Sie mit den Testergebnissen mehr Vertrauen haben. Wenn eine Technik bessere Ergebnisse bei Ihren genauen Daten liefert als eine andere, machen Sie sich keine Sorgen, sie zu implementieren.