Oracle Call Interface Programmer's Guide
Release 8.1.6

Part Number A76975-01

Library

Product

Contents

Index

Go to previous page Go to next page

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 

OCIBreak() 

OCIEnvCreate() 

OCIEnvInit() 

OCIErrorGet() 

OCIInitialize() 

OCILdaToSvcCtx() 

OCILogoff() 

OCILogon() 

OCIPasswordChange() 

 

OCIReset() 

OCIServerAttach() 

OCIServerDetach() 

OCIServerVersion() 

OCISessionBegin() 

OCISessionEnd() 

OCISvcCtxToLda() 

OCITerminate() 

OCIStmtExecute() 

OCIStmtFetch() 

0 or 1 

OCIStmtGetPieceInfo() 

OCIStmtPrepare() 

OCIStmtSetPieceInfo() 

OCITransCommit() 

OCITransDetach() 

OCITransForget() 

OCITransPrepare() 

OCItransRollback() 

OCITransStart() 

OCIUserCallbackGet() 

OCIUserCallbackregister() 

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() 

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() 

OCILobOpen() 

OCILobClose() 

OCILobIsOpen() 

OCILobGetChunkSize() 

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() 

OCIObjectPin() 

1; 0 if the desired object is already in cache 

OCIObjectUnpin() 

OCIObjectPinCountReset() 

OCIObjectLock() 

OCIObjectMarkUpdate() 

OCIObjectUnmark() 

OCIObjectUnmarkByRef() 

OCIObjectFree() 

OCIObjectMarkDelete() 

OCIObjectMarkDeleteByRef() 

OCIObjectFlush() 

OCIObjectRefresh() 

OCIObjectCopy() 

OCIObjectGetTypeRef() 

OCIObjectGetObjectRef() 

OCIObjectGetInd() 

OCIObjectExists() 

OCIObjectIsLocked() 

OCIObjectIsDirty() 

OCIObjectPinTable() 

OCIObjectArrayPin() 

OCICacheFlush() 

OCICacheRefresh() 

OCICacheUnpin() 

OCICacheFree() 

OCICacheUnmark() 

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*() 

OCIDate*() 

OCIString*() 

OCIRaw*() 

OCIRef*() 

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() 

 

OCIEnvCreate() 

 

OCIErrorGet() 

 

OCIHandleAlloc() 

 

OCIHandleFree() 

 

OCILdaToSvcCtx() 

 

OCISvcCtxToLda() 

 

OCIStmtGetBindInfo() 

 

OCIStmtPrepare() 

 

OCIStmtGetBindInfo() 

 

OCIStmtPrepare() 

 

OCIStmtFetch() 

may be local if retrieving pre-fetched rows 


Go to previous page Go to next page
Oracle
Copyright © 1996-2000, Oracle Corporation.

All Rights Reserved.

Library

Product

Contents

Index