Oracle Call Interface Programmer's Guide
Release 8.1.5

A67846-01

Library

Product

Contents

Index

Prev Next

C
OCI Function Server Roundtrips

This appendix provides information about server roundtrips incurred during various OCI calls. This information can be useful to programmers when determining the most efficient way to accomplish a particular task in an application.

The appendix contains the following sections:

Overview

This appendix provides information about server roundtrips incurred during various OCI calls. This information can be useful when determining the most efficient way to accomplish a particular task in an application.

Relational Function Roundtrips

The number of server round trips required by OCI relational functions are listed in Table C-1:

Table C-1 Server Roundtrips for Relational Operations
Function  # of Server Roundtrips 

OCIStmtGetPieceInfo()  

1  

OCIStmtSetPieceInfo()  

1  

LOB Function Roundtrips

Table C-2 lists the server roundtrips incurred by the OCILob*() calls. Information about the read and write calls is listed after the table.

Table C-2 Server Roundtrips for OCILob*() Calls
Function  # of Server Roundtrips 

OCILobAppend()  

1  

OCILobAssign()  

0  

OCILobCharSetForm()  

0  

OCILobCharSetId()  

0  

OCILobCopy()  

1  

OCILobCreateTemporary()  

 

OCILobDisableBuffering()  

0  

OCILobEnableBuffering()  

0  

OCILobErase()  

1  

OCILobFileClose()  

1  

OCILobFileCloseAll()  

1  

OCILobFileExists()  

1  

OCILobFileGetName()  

0  

OCILobFileIsOpen()  

1  

OCILobFileOpen()  

1  

OCILobFileSetName()  

0  

OCILobFlushBuffer()  

1 per modified page in the buffer for this LOB  

OCILobFreeTemporary()  

 

OCILobGetLength()  

1  

OCILobIsEqual()  

0  

OCILobIsTemporary()  

 

OCILobLoadFromFile()  

1  

OCILobLocatorAssign()  

1 roundtrip if the source and/or the destination locator refers to a temporary LOB  

OCILobLocatorIsInit()  

0  

OCILobTrim()  

1  

OCILobOpen()  

1  

OCILobClose()  

1  

OCILobIsOpen()  

1  

OCILobGetChunkSize()  

1  

OCILobRead()

The number of roundtrips required depends on how the call is used:

OCILobWrite(), OCILobWriteAppend()

The number of roundtrips required depends on how the call is used:

Object and Cache Function Roundtrips

Table C-3 lists the number of server round trips required for the object and cache functions. These values assume the cache is in a warm state, meaning that the type descriptor objects required by the application have been loaded.

Table C-3 Server Roundtrips for Object and Cache Functions
Function  # of Server Roundtrips 

OCIObjectNew()  

0  

OCIObjectPin()  

1; 0 if the desired object is already in cache  

OCIObjectUnpin()  

0  

OCIObjectPinCountReset()  

0  

OCIObjectLock()  

1  

OCIObjectMarkUpdate()  

0  

OCIObjectUnmark()  

0  

OCIObjectUnmarkByRef()  

0  

OCIObjectFree()  

0  

OCIObjectMarkDelete()  

0  

OCIObjectMarkDeleteByRef()  

0  

OCIObjectFlush()  

1  

OCIObjectRefresh()  

1  

OCIObjectCopy()  

0  

OCIObjectGetTypeRef()  

0  

OCIObjectGetObjectRef()  

0  

OCIObjectGetInd()  

0  

OCIObjectExists()  

0  

OCIObjectIsLocked()  

0  

OCIObjectIsDirty()  

0  

OCIObjectPinTable()  

1  

OCIObjectArrayPin()  

1  

OCICacheFlush()  

1  

OCICacheRefresh()  

1  

OCICacheUnpin()  

0  

OCICacheFree()  

0  

OCICacheUnmark()  

0  

Describe Operation Roundtrips

The number of server round trips required by OCIDescribeAny(), OCIAttrGet(), and OCIParamGet() are listed in Table C-4:

Table C-4 Server Roundtrips for Describe Operations
Function  # of Server Roundtrips 

OCIDescribeAny()  

1 roundtrip to get the REF of the type descriptor object  

OCIAttrGet()  

2 roundtrips to describe a type if the type objects are not in the object cache

1 roundtrip for each collection element, or each type attribute, method, or method argument descriptor. 1 more roundtrip if using OCI_ATTR_TYPE_NAME, or OCI_ATTR_SCHEMA_NAME on the collection element, type attribute, or method argument.

0 if all the type objects to be described are already in the object cache following the first OCIAttrGet() call.  

OCIParamGet()  

0  

Datatype Mapping and Manipulation Function Roundtrips

The number of round trips for the datatype mapping and manipulation functions are listed in Table C-5. The asterisks in the table indicate that all functions with a particular prefix incur the same number of server roundtrips. For example, OCINumberAdd(), OCINumberPower(), and OCINumberFromText() all incur zero server roundtrips.

Table C-5 Server Roundtrips for Datatype Manipulation Functions
Function  # of Server Roundtrips 

OCINumber*()  

0  

OCIDate*()  

0  

OCIString*()  

0  

OCIRaw*()  

0  

OCIRef*()  

0  

OCIColl*()  

0; 1 if the collection is not loaded in the cache  

OCITable*()  

0; 1 if the nested table is not loaded in the cache  

OCIIter*()  

0; 1 if the collection is not loaded in the cache  

Other Local Functions

The functions listed in Table C-6 are local and do not require a server roundtrip:

Table C-6 Locally Processed Functions
Local Function Name  Notes 

OCIAttrGet()  

 

OCIAttrSet()  

 

OCIBindByName()  

 

OCIBindByPos()  

 

OCIBindDynamic()  

 

OCIBindObject()  

 

OCIBindArrayOfStruct()  

 

OCIDefineByPos()  

 

OCIDefineDynamic()  

 

OCIDefineArrayOfStruct()  

 

OCIDefineObject()  

 

OCIDescriptorAlloc()  

 

OCIDescriptorFree()  

 

OCIEnvInit()  

 

OCIErrorGet()  

 

OCIHandleAlloc()  

 

OCIHandleFree()  

 

OCILdaToSvcCtx()  

 

OCISvcCtxToLda()  

 

OCIStmtGetBindInfo()  

 

OCIStmtPrepare()  

 

OCIStmtGetBindInfo()  

 

OCIStmtPrepare()  

 

OCIStmtFetch()  

may be local if retrieving pre-fetched rows  




Prev

Next
Oracle
Copyright © 1999 Oracle Corporation.

All Rights Reserved.

Library

Product

Contents

Index