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:
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?