2016-04-20 9 views
1

Ich habe einige Beweise gesucht, dass MLPPIs Effekt Einfügeleistung. Nach diesen link, ohne eigentlich zu sagen, warum:Wie Multi-Level partitioniert Primärindizes (MLPPIs) kann die Leistung von Einsätzen in teradata verbessern?

MLPPIs-bietet die Möglichkeit, die Leistung bestimmter Abfragen und hochvolumigen einfügen, aktualisiert erheblich zu verbessern und Operationen löschen.

That article baut interessante Fälle, wie solche Indizes verwendet werden, kann das Laden zu verbessern, aber es sieht nicht zuverlässig als Beweis.

Außerdem habe ich meine eigene Untersuchung durchgeführt: Ich habe die Tabelle mit 12 Millionen. Zeilen mit einem date Typ-Feld, so habe ich 2 neue leere Tabellen mit und ohne Partitionierung auf diese Art Feld Datum, aber fast mit der gleichen Struktur wie die ursprüngliche Tabelle, mit Ausnahme partionating. Dann habe ich alle diese 12 mln zu ihnen eingefügt. Erklären gab genau das gleiche Ergebnis 3 min +. Künstlich versucht, alle diese 12 Millionen Zeilen in eine Partition einzufügen, indem das Datum explizit angegeben wird, hat die Zeit nicht geändert.

Also meine Frage ist: kann MLPPIs Leistung von Einlagen erhöhen und warum?

Antwort

2

Sie sollten diesen Artikel als zuverlässig halten, war Paul Sinclair die Release Architekt für MLPPI :)

Wenn Sie in eine leere Tabelle einfügen werden Sie kaum mit oder ohne Partitionierung einen Unterschied bemerken. In der Tat könnte PPI langsamer sein, wenn die Quellentabelle dieselbe PI hat und aufgrund der Umsortierung nicht partitioniert ist.

Aber wenn man in einer bevölkerten Tabelle einfügen (oder Update) und alle Zeilen gehen auf ein paar Partitionen, es ist schneller, weil Sie nicht genutzte Partitionen überspringen und lesen (& wahrscheinlich schreiben) weniger Datenblöcke, dh die Anzahl der eingefügten (oder aktualisiert) Zeilen pro Block ist viel höher.

Und wenn Sie in eine leere Partition einfügen, verwendet es FastPath-Verarbeitung (wie eine leere Tabelle) und vermeidet Transient Journaling.

+0

Weitere Erläuterungen zu FastPath Verarbeitung hier erklärt: http://developer.teradata.com/blog/mtmoura/2010/05/lets-talk-about-multilevel-partitioned-primary-indexes-mlppi –