Not sure how to arrange the question, but I'm basically curious about the internals work of a multi-row insert. By multi-row I mean:
Code: Select all
INSERT INTO schema.object (col1, col2)
SELECT 'a', 'b'
UNION ALL
SELECT 'c', 'd'
...
For one reason or another an app has to insert row-by-row. Just using INSERT creates high overhead. When you introduce a multi-row insert like above, what is different in the loading process? Should the insert be run with /*+DIRECT*/ ? Is there a limit to how much data can be passed in with a multi-row INSERT?