Timing SQL commands in WebObjects/EOF verses SQLPlus

Gary Pirkola <[email protected]>
Newsgroups gmane.comp.web.webobjects.eof
Message-ID <[email protected]>
We're trying to get a handle on some database performance issues in a 
WebObjects/EOF/Oracle application and are seeing some inconsistancies 
in the times to perform SQL commands depending on from where the 
queries are issued.

Specifically, we've turned EOAdaptorDebugEnabled on in our application 
and are seeing logging of SQL commands with associated time stamps as 
follows:

[2003-01-14 17:19:57 EST] <WorkerThread1>  === Begin Internal 
Transaction
[2003-01-14 17:19:57 EST] <WorkerThread1>  evaluateExpression: 
<com.webobjects.jdbcadaptor.OraclePlugIn$OracleExpression: "SELECT 
t0.FINISHED, t0.ID_ACTIVE_STAGE, t0.ID_LOCAL_CALL_CHARTCOM, 
t0.ID_LONG_DISTANCE_CHARTCOM, t0.ID_MRC_CHARTCOM, t0.ID_OCC_CHARTCOM, 
t0.ID_ORDER, t0.ID_PARENT_TRANSACTION, t0.ID_PREVIOUS_STAGE, 
t0.ID_SHOPPING_CART, t0.ID_TRANSACTION, t0.MOD_DATE, t0.PARAMETERS, 
t0.TRANSACTION_TYPE, t0.UNIQNAME FROM OOS_TRANSACTION t0 WHERE 
t0.ID_SHOPPING_CART = ?" withBindings: 1:4(idShoppingCart)>
[2003-01-14 17:20:14 EST] <WorkerThread1> 129 row(s) processed
[2003-01-14 17:20:14 EST] <WorkerThread1>  === Commit Internal 
Transaction

Since this is one of the queries that is taking longer than we would 
expect, (17 seconds), we've also run SQLPlus from a terminal command 
line and submitted the same query directly against the same table in 
question, (so there's no difference as far as Oracle is concerned we 
believe)

Using SQLPlus in terminal command mode, this same query:

"SELECT t0.FINISHED, t0.ID_ACTIVE_STAGE, t0.ID_LOCAL_CALL_CHARTCOM, 
t0.ID_LONG_DISTANCE_CHARTCOM, t0.ID_MRC_CHARTCOM, t0.ID_OCC_CHARTCOM, 
t0.ID_ORDER, t0.ID_PARENT_TRANSACTION, t0.ID_PREVIOUS_STAGE, 
t0.ID_SHOPPING_CART, t0.ID_TRANSACTION, t0.MOD_DATE, t0.PARAMETERS, 
t0.TRANSACTION_TYPE, t0.UNIQNAME FROM OOS_TRANSACTION t0 WHERE 
t0.ID_SHOPPING_CART = ?" withBindings: 1:4(idShoppingCart)>

  takes about a second ????

Clearly something is happening in WebObjects/EOF  between the "=== 
Begin Internal Transaction" and the "=== Commit Internal Transaction", 
that doesn't happen with direct SQLPlus, but we don't have any idea 
where to start looking to explain the difference (and hopefully to 
minimize the difference).

Any education/explanation or suggestions about what to look at would be 
appreciated.

Gary Pirkola and David Snyder (University of Michigan)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.