同時有效率地插入多個資料庫記錄對於資料庫效能至關重要。 Oracle 提供了多種方法來實現這一目標。
INSERT ALL
(Oracle 9 及更早版本)對於較舊的 Oracle 版本(9 及以下),INSERT ALL
語句提供了一個可行的解決方案:
<code class="language-sql">INSERT ALL INTO t (col1, col2, col3) VALUES ('val1_1', 'val1_2', 'val1_3') INTO t (col1, col2, col3) VALUES ('val2_1', 'val2_2', 'val2_3') INTO t (col1, col2, col3) VALUES ('val3_1', 'val3_2', 'val3_3') . . . SELECT 1 FROM DUAL;</code>
Oracle 23c 用更簡潔的語法簡化了多行插入:
<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>
此方法對於大容量資料插入特別有利,可顯著提高效能。
對於大量資料集,請考慮以下最佳實踐:
以上是Oracle 中多行插入的最佳方法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!