Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: DBD::Oracle bind params and IO usage

by runrig (Abbot)
on Feb 09, 2013 at 00:12 UTC ( #1017909=note: print w/ replies, xml ) Need Help??


in reply to DBD::Oracle bind params and IO usage

Why does binding your values with placeholders actually create additional DB IO for your query?

It doesn't, always, but it can. It depends on the query plan generated with vs. without parameters. I assume your real query is not as simple as you have above, otherwise there would probably be no difference in query plans. Maybe you (or the DBAs) just need to update statistics on the table, but maybe, without knowing what specific values you're going to bind, Oracle can't figure out what the most efficient (or even what a decently efficient) query plan should be. This can happen on queries that include things such as LIKE clauses, e.g. 'LIKE ?' where Oracle doesn't know if you're going to bind 'ABCD%' (which can use an index) or '%ABCD%' (which can not).


Comment on Re: DBD::Oracle bind params and IO usage
Download Code
Re^2: DBD::Oracle bind params and IO usage
by tj_thompson (Monk) on Feb 09, 2013 at 00:44 UTC
    Yes, real query is much more complicated. So not a weird Perl thing and it's pretty much impossible to quantify the vague Oracle voodoo going on in the background. Got it. Guess it's back to trying to optimize my query further. Thanks for the information runrig :)
      Generate the query plan for both cases and compare them...you can possibly get clues on how to make one more like the other, or how to reorganize or break up your query. Or just fall back to interpolating your parameters into your sql...after scrubbing for Bobby Tables, of course :-)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1017909]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (12)
As of 2014-11-26 10:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (167 votes), past polls