Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> OCI 8 -- pre-fetch ???
The documentation for OCI 8 is ambiguous, rather terse, and confusing.
(Other than that, it's almost readable.) I have a specific question
regarding the "pre-fetch" attribute.
In some parts of the documentation, it "sounds" like prefetch works for almost any query (eliminating the need to do array fetches ???) In other parts of the documentation, it sounds like it works only with updates.
Can anyone shed any light on the actual performance of OCI?
This is what it says in the documention:
The Oracle8 OCI has several enhancements to improve application performance
and scalability. Application performance has been improved by reducing the
number of client to server round trips required and scalability improvements
have been facilitated by reducing the amount of state information that needs
to be retained on the server side. Some of these features include:
* Increased client-side processing, and reduced server-side requirements
There is a place in OCI to set the pre-fetch attribute, although this
appears to only have an impact on statements that will write output, i.e.,
the documentation says:
OCI_ATTR_PREFETCH_ROWS
Mode
WRITE
Description
Sets the number of top level rows to be prefetched. The default value is 1
row.
The reference to Mode: Write is the important statement.
However, the OCIStmtFetch() description makes reference to the execution
being a local call if pre-fetched rows suffice.
OCIStmtFetch()
Purpose
Fetches rows from a query.
Syntax
sword OCIStmtFetch ( OCIStmt *stmtp, OCIError *errhp, ub4 nrows, ub2 orientation, ub4 mode );Parameters
I'm confused ... If pre-fetching works, why would anyone bother to implement an array fetch???
Rog
--
roger@_delete_this_to_reply_.martech.com
Received on Thu Apr 30 1998 - 08:36:37 CDT