Oracle Insert into Partition
Um Daten direkt in eine bestimmte Partition einzufügen gibt es folgende zwei Varianten:
a) mit Partitionsnamen:
where T1.K_PARTITION_KEY = 123;
b) mit Partitionswert (LIST-Partitioniert):
from myTbl T1
where T1.K_PARTITION_KEY = 123;
Vorteil: Es wird nur die betroffene Partition gelocked. Andere Partitionen können parallel "bearbeitet".
Nachteil: Der Partitionsname oder -wert muss vorher mitgegeben werden -> also dyn. SQL.
a) mit Partitionsnamen:
insert /*+ APPEND
*/ into myTbl2
partition (P_123)
( K_PARTITION_KEY
, Col2
)
select T1.K_PARTITION_KEY
, T1.Col2 from myTbl T1 where T1.K_PARTITION_KEY = 123;
b) mit Partitionswert (LIST-Partitioniert):
insert /*+ APPEND
*/ into myTbl2
partition for (123)
( K_PARTITION_KEY
, Col2
)
select T1.K_PARTITION_KEY
, T1.Col2 from myTbl T1
where T1.K_PARTITION_KEY = 123;
Vorteil: Es wird nur die betroffene Partition gelocked. Andere Partitionen können parallel "bearbeitet".
Nachteil: Der Partitionsname oder -wert muss vorher mitgegeben werden -> also dyn. SQL.
Kommentare
Kommentar veröffentlichen