Heim > Datenbank > Oracle > Was ist eine Partitionstabelle in Oracle?

Was ist eine Partitionstabelle in Oracle?

WBOY
Freigeben: 2022-06-07 18:38:49
Original
5355 Leute haben es durchsucht

In Oracle besteht eine Partitionstabelle darin, eine große Tabelle in mehrere kleine, verwaltbare Partitionstabellen zu zerlegen. Logischerweise gibt es nur eine Tabelle oder einen Index. aber physisch kann diese Tabelle oder dieser Index aus mehreren physischen Partitionen bestehen; Partitionstabellen können in Bereichspartitionen, Listenpartitionen, Hash-Partitionen und kombinierte Partitionen unterteilt werden.

Was ist eine Partitionstabelle in Oracle?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle 11g-Version, Dell G3-Computer.

Was ist eine Partitionstabelle in Oracle? Eine große Tabelle/ein großer Index kann in mehrere kleine, verwaltbare Partitionen unterteilt werden. Mehrere Partitionen sind relativ unabhängig und verfügen über unabhängige Speicherstrukturen, die zusammen die gesamte vollständige Tabelle/den gesamten Index bilden. Die Partitionierung ist für die Anwendung transparent, das heißt, für die Anwendung, die auf die Datenbank zugreift, gibt es logischerweise nur eine Tabelle oder einen Index (entspricht der Anwendung, die immer noch nur eine Tabelle oder einen Index sieht), aber physisch kann diese Tabelle oder dieser Index aus mehreren bestehen Bestehend von physischen Partitionen.

(2) Wann ist eine Partitionierung erforderlich?

Die offizielle Website von Oracle empfiehlt die Verwendung partitionierter Tabellen in den folgenden Situationen:

1. Wenn die Menge der Tabellendaten größer als 2 GB ist, sollte eine Partitionierung in Betracht gezogen werden; Neue Daten werden zur neuesten Partitionstabelle hinzugefügt, in der historische Daten gespeichert werden.

(3) Der Unterschied zwischen geteilter Tabelle und Partitionstabelle

Um die Daten großer Tabellen/Indizes zu verteilen, besteht eine andere Möglichkeit darin, eine große Tabelle in mehrere Tabellen zu zerlegen Regeln: Eine Entitätstabelle mit unabhängigem Speicherplatz kann beispielsweise in zwei Tabellen aufgeteilt werden, eine zum Speichern von Privatkunden customer_person und die andere für Firmenkunden customer_company. Die Untertabellen sind völlig unabhängig und logischerweise mehrere verschiedene Tabellen, während die Partitionstabelle physisch eine einzige Tabelle ist. Partitionierte Tabellen sind für Anwendungen transparent und einfach zu verwalten und zu warten, während Untertabellen nicht einfach zu verwalten und zu warten sind.

(4) Arten von Partitionstabellen

Bereichspartitionierung

Listenpartitionierung

  • Hash-Partitionierung

  • Zusammengesetzte Partitionierung (Partitionierung)

  • Grundlegende Partitionierung bezieht sich nur auf eine Partitionstabelle verwendet eine Partitionierungsebene (Bereichspartitionierung, Listenpartitionierung, Hash-Partitionierung).

  • Wenn eine Partitionstabelle in mehrere Ebenen partitioniert wird, spricht man von kombinierter Partitionierung.
  • Range-partitionierte Tabelle

(1) Partitionsschlüssel

Partitionierung bedeutet, eine sehr große Tabelle oder einen sehr großen Index in mehrere kleine, überschaubare Teile zu zerlegen. Partitionierte Tabellen werden durch Partitionsschlüssel partitioniert. Der Partitionsschlüssel bestimmt, zu welcher Partition jede Datenzeile in der partitionierten Tabelle fließt. Jede Datenzeile in einer partitionierten Tabelle wird basierend auf dem Partitionsschlüssel implizit einer Partition zugewiesen.

(2) Bereichspartitionierung Die Bereichspartitionierung unterteilt die Partitionen nach dem Partitionsschlüssel und nach den unterschiedlichen Bereichswerten der Datenzeilen, die in den Partitionsschlüssel fallen.

(3) Fall 1 (Partitionsschlüssel ist eine Spalte)

CREATE TABLE time_range_sales
     ( prod_id        NUMBER(6)
       , cust_id        NUMBER
       , time_id        DATE
       , channel_id     CHAR(1)
       , promo_id       NUMBER(6)
       , quantity_sold  NUMBER(3)
       , amount_sold    NUMBER(10,2)
     )
    PARTITION BY RANGE (time_id)
    (PARTITION SALES_1998 VALUES LESS THAN (TO_DATE('01-JAN-1999','DD-MON-YYYY')),
     PARTITION SALES_1999 VALUES LESS THAN (TO_DATE('01-JAN-2000','DD-MON-YYYY')),
     PARTITION SALES_2000 VALUES LESS THAN (TO_DATE('01-JAN-2001','DD-MON-YYYY')),
     PARTITION SALES_2001 VALUES LESS THAN (MAXVALUE)
    );
Nach dem Login kopieren

Empfohlenes Tutorial: „

Oracle Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist eine Partitionstabelle in Oracle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage