> I still think that this is a bug in the DBD Oracle driver.  
> DBI_TRACE=3 produced exact same results for the two queries.
> So, the problem is how the driver passes these values to Oracle.

Since the type was shown to be the same in both cases by the trace, doesn't
this seems to move the probable location of the issue towards Oracle, rather
than DBD::Oracle?

You should be able to get hold of the actual execution plans used by looking
into v$sql_plan - this would at least give some information on why one takes
long than the other, because so far there's no definite explanation for the
differences in elapsed time. You'll need the address/hash_value from v$sql,
or v$session.sql_address/sql_hash_value.

Also see:

http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:103534539
05351

... for a way to use DBMS_XPLAN to get nicely formatted execution plans from
cached SQL (in 10g DBMS_XPLAN has extra functionality to this directly).

Or use Oracle's tracing functionality.

Another way of looking at it - can you reduce this to a small self-contained
test case that can be tested on other databases?

--
Andy Hassall :: [EMAIL PROTECTED] :: http://www.andyh.co.uk
http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool 

Reply via email to