In Oracle bezieht sich die Tabellenpartitionierung auf die physische Speicherung der Daten in der Tabelle in mehreren Tabellenbereichen, wenn die Daten in der Tabelle weiter zunehmen. Das heißt, die Tabellenpartitionierung kann die Tabelle, den Index oder indexorganisierte Tabellen partitionieren werden weiter in Segmente unterteilt, die als Partitionen bezeichnet werden und die Verwaltbarkeit, Leistung und Verfügbarkeit verbessern.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle 11g-Version, Dell G3-Computer.
Partitionierte Tabelle: Wenn die Datenmenge in der Tabelle weiter zunimmt, verlangsamt sich die Geschwindigkeit der Datenabfrage und die Leistung der Anwendung nimmt ab Partitionierung der Tabelle.
Nach der Partitionierung der Tabelle ist die logische Tabelle immer noch eine vollständige Tabelle, die Daten in der Tabelle werden jedoch physisch in mehreren Tabellenbereichen (physischen Dateien) gespeichert, sodass sie beim Abfragen der Daten nicht jedes Mal gescannt werden gesamte Tabelle.
Die spezifische Rolle der Tabellenpartitionierung
Die Tabellenpartitionierungsfunktion von Oracle bietet große Vorteile für verschiedene Anwendungen, indem sie die Verwaltbarkeit, Leistung und Verfügbarkeit verbessert. Im Allgemeinen kann die Partitionierung die Leistung bestimmter Abfragen und Wartungsvorgänge erheblich verbessern. Darüber hinaus kann die Partitionierung allgemeine Verwaltungsaufgaben erheblich vereinfachen und ist ein wichtiges Werkzeug beim Aufbau von Gigabyte-Datensystemen oder Systemen mit extrem hoher Verfügbarkeit.
Die Partitionierungsfunktion kann Tabellen, Indizes oder indexorganisierte Tabellen weiter in Segmente unterteilen. Die Segmente dieser Datenbankobjekte werden Partitionen genannt. Jede Partition hat einen eigenen Namen und kann ihre eigenen Speichereigenschaften auswählen. Aus Sicht eines Datenbankadministrators verfügt ein partitioniertes Objekt über mehrere Segmente, und diese Segmente können gemeinsam oder einzeln verwaltet werden. Dies gibt dem Datenbankadministrator erhebliche Flexibilität bei der Verwaltung partitionierter Objekte. Aus Anwendungssicht ist eine partitionierte Tabelle jedoch identisch mit einer nicht partitionierten Tabelle, und beim Zugriff auf eine partitionierte Tabelle mithilfe von SQL-DML-Befehlen sind keine Änderungen erforderlich.
Wenn eine Partitionstabelle verwendet werden soll, lautet der offizielle Rat:
a Die Größe der Tabelle überschreitet 2 GB.
b Die Tabelle enthält historische Daten und neue Daten werden zu neuen Partitionen hinzugefügt.
Vor- und Nachteile der Tabellenpartitionierung
Vorteile:
a. Abfrageleistung verbessern: Abfragen zu partitionierten Objekten können nur die Partitionen durchsuchen, die Sie interessieren, wodurch die Abrufgeschwindigkeit verbessert wird.
b. Verbesserte Verfügbarkeit: Wenn eine Partition der Tabelle ausfällt, sind die Daten der Tabelle in anderen Partitionen weiterhin verfügbar.
c Einfache Wartung: Wenn eine Partition der Tabelle ausfällt und die Daten repariert werden müssen, kann nur die Partition repariert werden.
d. Ausgeglichene E/A: Verschiedene Partitionen können Festplatten zugeordnet werden, um E/A auszugleichen und die Gesamtsystemleistung zu verbessern.
Nachteile:
Im Zusammenhang mit Partitionstabellen gibt es keine Möglichkeit, vorhandene Tabellen direkt in Partitionstabellen umzuwandeln. Allerdings bietet Oracle die Funktion der Online-Neudefinition von Tabellen.
Verschiedene Typen und Betriebsmethoden von Tabellenpartitionen
1 Bereichspartitionierung (Bereich) maxvalue
Bereichspartitionierung ordnet Daten jeder Partition basierend auf dem Bereich zu. Dieser Bereich wird durch den Partitionsschlüssel bestimmt, den Sie beim Erstellen der Partition angeben. . Diese Partitionierungsmethode wird am häufigsten verwendet und der Partitionsschlüssel verwendet häufig das Datum. Beispiel: Sie könnten Ihre Verkaufsdaten nach Monaten aufteilen.
Beachten Sie bei der Verwendung der Bereichspartitionierung bitte die folgenden Regeln:
a Jede Partition muss eine VALUES LESS THEN-Klausel haben, die einen oberen Grenzwert angibt, der nicht in der Partition enthalten ist. Alle Datensätze mit einem Partitionsschlüsselwert, der dieser Obergrenze entspricht oder diesen überschreitet, werden der nächsthöheren Partition hinzugefügt.
b. Alle Partitionen außer der ersten haben einen impliziten unteren Grenzwert, der dem oberen Grenzwert der vorherigen Partition dieser Partition entspricht.
c. Wenn der Bereich einiger Datensätze noch nicht vorhergesagt werden kann, können Sie eine Maxvalue-Partition erstellen. Alle Datensätze, die nicht innerhalb des angegebenen Bereichs liegen, werden in der Partition gespeichert, in der sich Maxvalue befindet.
Beispiel 1: Angenommen, es gibt eine Testtabelle mit 200.000 Datenzeilen. Jede Partition speichert 100.000 Zeilen, sodass die Datendatei mehrere physische Daten umfassen kann Festplatten. Im Folgenden finden Sie den Code zum Erstellen von Tabellen und Partitionen:
----Erstellen Sie zuerst mehrere Testtabellenbereiche
sys@ORCL>create tablespace test_ts01 datafile '/home/oracle/test_01.dbf' size 32m extent management local autoallocate; Tablespace created. sys@ORCL>create tablespace test_ts02 datafile '/home/oracle/test_02.dbf' size 32m extent management local autoallocate; Tablespace created. sys@ORCL>create tablespace test_ts03 datafile '/home/oracle/test_03.dbf' size 32m extent management local autoallocate; Tablespace created.
----Erstellen Sie eine Testpartitionstabelle
create table test ( id number not null, first_name varchar2(30) not null, last_name varchar2(30) not null, phone varchar2(30) not null, email varchar2(80), status char(1), constraint test_id primary key (id) ) partition by range (id) ( partition test_part1 values less than (100000) tablespace test_ts01, partition test_part2 values less than (200000) tablespace test_ts02, partition test_part3 values less than (maxvalue) tablespace test_ts03 );
Empfohlenes Tutorial: „Oracle Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist Oracle-Tabellenpartitionierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!