Coding With Fun
Home Docker Django Node.js Articles Python pip guide FAQ Policy

Which is faster direct path or conventional path?


Asked by Dominic Ho on Dec 09, 2021 FAQ



A direct path load is faster than the conventional path for the following reasons: Partial blocks are not used, so no reads are needed to find them, and fewer writes are performed. SQL*Loader need not execute any SQL INSERT statements; therefore, the processing load on the Oracle database is reduced.
And,
Direct path loads can be significantly faster than conventional path loads. Direct path loads achieve this performance gain by eliminating much of the Oracle database overhead by writing directly to the database files.
One may also ask, But there are times when the conventional path is preferred. You should use the conventional path in the following situations: When accessing an indexed table concurrently with the load, or when applying inserts or updates to a non-indexed table concurrently with the load.
Subsequently,
A conventional path load executes SQL INSERTstatements to populate tables in an Oracle database. A direct path load eliminates much of the Oracle database overhead by formatting Oracle data blocks and writing the data blocks directly to the database files.
Consequently,
SQL*Loader does not use the bind-array buffer -- formatted database blocks are written directly. A direct path load calls on Oracle to lock tables and indexes at the start of the load and releases them when the load is finished. A conventional path load calls Oracle once for each array of rows to process a SQL INSERT statement.