Heim >Datenbank >MySQL-Tutorial >Wie führt man in Oracle effizient mehrzeilige Einfügungen durch?
Im Gegensatz zum mehrzeiligen Einfügen einer einzelnen Anweisung in MySQL unterstützt die Oracle-Datenbank diese direkte Methode nicht. Aber wir können eine ähnliche Funktionalität auf verschiedene Arten erreichen:
Verwenden Sie die INSERT ALL-Syntax (vor Oracle 23c)
In Versionen vor Oracle 23c können Sie die INSERT ALL
-Syntax zum Einfügen mehrerer Zeilen verwenden. Das folgende Beispiel zeigt, wie Sie mit INSERT ALL
Daten in die Tabelle TMP_DIM_EXCH_RT
einfügen:
<code class="language-sql">INSERT ALL INTO TMP_DIM_EXCH_RT (EXCH_WH_KEY, EXCH_NAT_KEY, EXCH_DATE, EXCH_RATE, FROM_CURCY_CD, TO_CURCY_CD, EXCH_EFF_DATE, EXCH_EFF_END_DATE, EXCH_LAST_UPDATED_DATE) VALUES (1, 1, '28-AUG-2008', 109.49, 'USD', 'JPY', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (2, 1, '28-AUG-2008', .54, 'USD', 'GBP', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (3, 1, '28-AUG-2008', 1.05, 'USD', 'CAD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (4, 1, '28-AUG-2008', .68, 'USD', 'EUR', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (5, 1, '28-AUG-2008', 1.16, 'USD', 'AUD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (6, 1, '28-AUG-2008', 7.81, 'USD', 'HKD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008') SELECT 1 FROM DUAL;</code>
Oracle 23c vereinfachte Syntax
Oracle 23c führt eine vereinfachte mehrzeilige Einfügungssyntax ein:
<code class="language-sql">INSERT INTO t(col1, col2, col3) VALUES ('val1_1', 'val1_2', 'val1_3'), ('val2_1', 'val2_2', 'val2_3'), ('val3_1', 'val3_2', 'val3_3');</code>
Diese Syntax ermöglicht das Einfügen mehrerer Zeilen mit einer einzigen Anweisung.
Leistungsüberlegungen
Bei großen Datensätzen ist die vereinfachte Syntax von Oracle 23c effizienter als der INSERT ALL
-Ansatz. Um die Leistung zu optimieren, wird empfohlen, dass die Anzahl der gleichzeitig eingefügten Zeilen etwa 1.000 Zeilen nicht überschreitet.
Das obige ist der detaillierte Inhalt vonWie führt man in Oracle effizient mehrzeilige Einfügungen durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!