Detaillierte Erklärung des Unterschieds zwischen Oracle10-Partitionen und MySQL-Partitionen

Detaillierte Erklärung des Unterschieds zwischen Oracle10-Partitionen und MySQL-Partitionen

Die häufig verwendeten Oracle10g-Partitionen sind: Bereich (Bereichspartitionierung), Liste (Listenpartitionierung), Hash (Hash-Partitionierung), Bereichs-Hash (Bereichs-Hash-Partitionierung) und Bereichsliste (Listen-Verbundpartitionierung).

Bereichspartitionierung: Die Bereichspartitionierung ist eine weit verbreitete Methode zur Tabellenpartitionierung. Sie verwendet den Bereich der Spaltenwerte als Partitionierungsbedingung und speichert Datensätze in der Bereichspartition, in der sich der Spaltenwert befindet.

Wenn die Partition beispielsweise auf Zeit basiert, werden die Daten vom Januar 2010 in Partition A und die Daten vom Februar in Partition B abgelegt. Beim Erstellen der Partition müssen Sie die zu verwendende Spalte und den Bereichswert der Partition angeben.

Wenn bei der Partitionierung nach Zeit der Bereich einiger Datensätze vorerst nicht vorhergesagt werden kann, können Sie eine Maximalwertpartition erstellen. Alle Datensätze, die nicht im angegebenen Bereich liegen, werden in der Partition gespeichert, in der sich der Maximalwert befindet. wie:

createtable pdba (ID-Nummer, Uhrzeit, Datum) Partition nach Bereich (Zeit)
(
partitionp1-Werte kleiner als (to_date('2010-10-1', 'yyyy-mm-dd')),
partitionp2-Werte kleiner als (to_date('2010-11-1', 'yyyy-mm-dd')),
partitionp3-Werte kleiner als (to_date('2010-12-1', 'yyyy-mm-dd')),
partitionp4-Werte kleiner als (maxvalue)
)

Hash-Partition:

Für Tabellen, die nicht effektiv in Bereiche unterteilt werden können, kann eine Hash-Partitionierung verwendet werden, die dennoch zur Leistungsverbesserung beiträgt. Bei der Hashpartitionierung werden die Daten in der Tabelle gleichmäßig auf mehrere von Ihnen angegebene Partitionen verteilt. Die Partition, in der sich die Spalte befindet, wird automatisch basierend auf dem Hashwert der Partitionsspalte zugewiesen. Daher können Sie weder steuern noch wissen, welcher Datensatz in welcher Partition platziert wird. Die Hashpartitionierung kann auch mehrere abhängige Spalten unterstützen. wie:

erstellbarer Test
(
transaction_idnumber Primärschlüssel,
item_idnumber(8) nicht null
)
partitionby hash(transaktions-id)
(
partitionpart_01 Tabellenbereich tablespace01,
partitionpart_02 Tabellenbereich tablespace02,
partitionpart_03 Tabellenbereich tablespace03
);

Hier geben wir den Tablespace für jede Partition an.

Partition auflisten:

Bei der Listenpartitionierung müssen auch Spaltenwerte angegeben werden. Der Partitionswert muss explizit angegeben werden. Es kann nur eine Partitionsspalte geben. Anders als bei der Bereichs- oder Hashpartitionierung können nicht mehrere Spalten gleichzeitig als partitionsabhängige Spalten angegeben werden. Eine einzelne Partition kann jedoch mehrere entsprechende Werte haben.

Beim Partitionieren müssen Sie die möglichen Werte der Partitionsspalte bestimmen. Sobald der eingefügte Spaltenwert nicht im Partitionsbereich liegt, schlägt das Einfügen/Aktualisieren fehl. Daher wird normalerweise empfohlen, bei Verwendung der Listenpartitionierung eine Standardpartition zu erstellen, um Datensätze zu speichern, die nicht im angegebenen Bereich liegen, ähnlich der Maxvalue-Partition in der Bereichspartition.

Wenn Sie eine Partitionierung basierend auf einem bestimmten Feld durchführen, z. B. dem Stadtcode, können Sie eine Standardpartition angeben und alle Daten, die nicht den Partitionierungsregeln entsprechen, in diese Standardpartition einfügen. wie:

erstelle Tabelle custaddr
(
idvarchar2(15 Bytes) nicht null,
Bereichscodevarchar2(4 Bytes)
)
Partitionierung nach Liste (Vorwahl)
(Partition t_list025 Werte ('025'),
partitiont_list372 Werte ('372'),
partitiont_list510 Werte ('510'),
partitionp_other-Werte (Standard)
)

Kombinierte Partitionen:

Wenn eine Tabelle nach der Partitionierung nach einer Spalte immer noch groß ist oder andere Anforderungen bestehen, kann die Partition durch die Erstellung von Unterpartitionen innerhalb der Partition weiter partitioniert werden (d. h. mit der kombinierten Partitionsmethode).

Es gibt zwei Arten von zusammengesetzten Partitionen in 10g: Range-Hash und Range-List. Beachten Sie die Reihenfolge. Die Stammpartition kann nur eine Bereichspartition sein und die Unterpartition kann eine Hashpartition oder eine Listenpartition sein.

wie:

erstellbarer Test
(
Transaktions-ID-Nummer-Primärschlüssel,
Transaktionsdatum
)
Partitionierung nach Bereich (Transaktionsdatum) Unterpartitionierung nach Hash (Transaktions-ID)
Unterpartitionen3 werden gespeichert in (Tablespace01, Tablespace02, Tablespace03)
(
partitionpart_01-Werte kleiner als (to_date('2009-01-01','yyyy-mm-dd')),
partitionpart_02-Werte kleiner als (to_date('2010-01-01','yyyy-mm-dd')),
partitionpart_03 Werte kleiner als (Maximalwert)
);
createtable emp_sub_template (Abteilungsnummer, Mitarbeitername varchar(32), Gehaltsstufe)
Partitionierung nach Bereich (Abteilungsnummer) Unterpartitionierung nach Hash (Mitarbeitername)
Unterpartitionsvorlage
(Unterpartitiona Tablespace ts1,
Unterpartitionb-Tabellenbereich ts2,
Unterpartitionc-Tabellenbereich ts3,
unterpartitionierter Tablespace ts4
)
(partitionp1 Werte kleiner als (1000),
partitionp2-Werte kleiner als (2000),
partitionp3-Werte kleiner als (maxvalue)
);
Tabelle erstellen - vierteljährliche_regionale_Verkäufe
(Abteilungsnummer, Artikelnummer varchar2(20),
txn_dateDatum, txn_amount Nummer, Status varchar2(2))
Tabellenbereichets4
Partitionierung nach Bereich (txn_date)
Unterpartitionierung nach Liste (Status)
(partitionq1_1999 Werte kleiner als (to_date('1-apr-1999','dd-mon-yyyy'))
(subpartitionq1_1999_northwest-Werte ('oder', 'wa'),
subpartitionq1_1999_southwest-Werte ('az', 'ut', 'nm'),
subpartitionq1_1999_northeast-Werte ('ny', 'vm', 'nj'),
subpartitionq1_1999_southeast-Werte ('fl', 'ga'),
subpartitionq1_1999_northcentral-Werte ('sd', 'wi'),
subpartitionq1_1999_southcentral-Werte ('ok', 'tx')
),
partitionq2_1999-Werte kleiner als (to_date('1-jul-1999','dd-mon-yyyy'))
(subpartitionq2_1999_northwest-Werte ('oder', 'wa'),
subpartitionq2_1999_southwest-Werte ('az', 'ut', 'nm'),
subpartitionq2_1999_northeast-Werte ('ny', 'vm', 'nj'),
subpartitionq2_1999_southeast-Werte ('fl', 'ga'),
subpartitionq2_1999_northcentral-Werte ('sd', 'wi'),
subpartitionq2_1999_southcentral-Werte ('ok', 'tx')
),
partitionq3_1999 Werte kleiner als (to_date('1-oct-1999','dd-mon-yyyy'))
(Unterpartitionq3_1999_Nordwestwerte ('oder', 'wa'),
subpartitionq3_1999_southwest-Werte ('az', 'ut', 'nm'),
subpartitionq3_1999_northeast-Werte ('ny', 'vm', 'nj'),
subpartitionq3_1999_southeast-Werte ('fl', 'ga'),
subpartitionq3_1999_northcentral-Werte ('sd', 'wi'),
subpartitionq3_1999_southcentral-Werte ('ok', 'tx')
),
partitionq4_1999 Werte kleiner als (to_date('1-jan-2000','dd-mon-yyyy'))
(Unterpartitionq4_1999_Nordwestwerte ('oder', 'wa'),
subpartitionq4_1999_southwest-Werte ('az', 'ut', 'nm'),
subpartitionq4_1999_northeast-Werte ('ny', 'vm', 'nj'),
subpartitionq4_1999_southeast-Werte ('fl', 'ga'),
subpartitionq4_1999_northcentral-Werte ('sd', 'wi'),
subpartitionq4_1999_southcentral-Werte ('ok', 'tx')
)
);

Häufig verwendete MySQL-Partitionen: Bereich, Liste, Hash, Schlüssel

RANGE-Partitionierung: Tupel werden basierend auf dem Bereich der Spaltenwerte Partitionen zugewiesen.

 LIST-Partitionierung: Ähnlich wie RANGE-Partitionierung, der Unterschied besteht darin, dass die LIST-Partitionierung auf dem Spaltenwert basiert, der mit einem Wert in einem diskreten Wertesatz übereinstimmt.

 HASH-Partitionierung: Die Partition wird basierend auf dem Rückgabewert einer benutzerdefinierten Funktion ausgewählt, der anhand der Spaltenwerte der in die Tabelle einzufügenden Zeilen berechnet wird. Diese Funktion kann jeden in MySQL gültigen Ausdruck enthalten, der einen nicht negativen ganzzahligen Wert erzeugt.

 KEY-Partitionierung: Ähnlich wie die HASH-Partitionierung, der Unterschied besteht darin, dass die KEY-Partitionierung nur die Berechnung einer oder mehrerer Spalten unterstützt und der MySQL-Server eine eigene Hash-Funktion bereitstellt.

Oben finden Sie eine ausführliche Erklärung der Unterschiede zwischen Oracle 10-Partitionen und MySQL-Partitionen. Ich hoffe, dass es für alle hilfreich ist. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Eine kurze Diskussion über die Unterschiede zwischen den drei wichtigsten Datenbanken: Mysql, SqlServer und Oracle
  • Mybatis foreach Batch-Einfügedaten: Einführung in den Unterschied zwischen Oracle und MySQL
  • Eine kurze Analyse der Unterschiede zwischen Oracle- und MySQL-Paging
  • Beschreiben Sie kurz den Unterschied zwischen MySQL und Oracle
  • Einführung in die Unterschiede zwischen Paging-Abfrageanweisungen in Oracle, MySQL und SqlServe
  • 9 Unterschiede zwischen Oracle und MySQL
  • Der Unterschied zwischen den Auto-Increment-Spalten (ID) in Oracle und MySQL
  • Analyse der Unterschiede zwischen MySQL- und Oracle-Updates
  • Detaillierter Vergleich der Syntaxunterschiede zwischen MySQL und Oracle
  • Zusammenfassung der Unterschiede zwischen Primärschlüsseln, Indizes und Paging in Oracle und MySQL
  • Zusammenfassung der Unterschiede zwischen MySQL und Oracle (Vergleich der Funktionsleistung, Auswahl, SQL bei der Verwendung usw.)

<<:  Die Verwendung und der Unterschied zwischen vue3 watch und watchEffect

>>:  Trash-Cli: Befehlszeilen-Papierkorb-Tool unter Linux

Artikel empfehlen

Zusammenfassung der MySQL-Anweisungen

Inhaltsverzeichnis 1. Datenbank USE auswählen 2. ...

Detaillierte Erklärung der Nginx-Konfigurationsdatei

Die Hauptkonfigurationsdatei von Nginx ist nginx....

Ein kurzer Vortrag über die halbsynchrone MySQL-Replikation

Einführung MySQL erreicht eine hohe Verfügbarkeit...

js realisiert horizontale und vertikale Slider

Als ich kürzlich an einem Übungsprojekt arbeitete...

So verwenden Sie Javascript zum Erstellen einfacher Algorithmen

Inhaltsverzeichnis 1 Frage 2 Methoden 3 Experimen...

Installieren des Win10-Systems auf VMware Workstation 14 Pro

Dieser Artikel beschreibt zu Ihrer Information, w...

MySQL-Implementierung des Funktionsbeispiels „lastInfdexOf“

Manchmal muss MySQL eine Funktion ähnlich zu last...

Beispielcode für kreisförmigen Hover-Effekt mit CSS-Übergängen

Dieser Artikel stellt vor Online-Vorschau und Dow...

Eine einfache Implementierungsmethode für eine digitale LED-Uhr in CSS3

Das dürfte etwas sein, was viele Leute gemacht ha...