Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^2: same query, different execution, different performance

by punkish (Priest)
on Feb 14, 2012 at 02:37 UTC ( #953589=note: print w/replies, xml ) Need Help??


in reply to Re: same query, different execution, different performance
in thread same query, different execution, different performance

Thanks Marshall. Makes a lot of sense.


when small people start casting long shadows, it is time to go to bed
  • Comment on Re^2: same query, different execution, different performance

Replies are listed 'Best First'.
Re^3: same query, different execution, different performance
by Marshall (Abbot) on Feb 14, 2012 at 04:33 UTC
    Another idea occurred to me - don't know if it would work or not - but an experiment should be easy for you...

    If you are always adding this % wildcard at the end, what happens if you put that wildcard into the version 2 prepare? i.e. LIKE ?% instead of LIKE ? In this case you would just put in the raw $q "abc" instead of "abc%". In my simple "untested code" brain, that might trigger the DB to use the index, knowing that it will start out the search with a constant term that you provide.

    I personally do not know the answer. But on the surface it sounds plausible. Anyway I think it would be fun the hear the results of that test. This is likely to be DB specific, but never-the-less interesting. I think the chance of success is low, but this critter may be smarter than we think.

    I am working on some complicated approximate matches in SQLite. This may not apply in your case, but consider that if case is not an issue: ABC% must all fall between x >="ABC" and x<"ABD" in a string comparison sense depending upon how the DB is indexed and other confounding factors...

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://953589]
help
Chatterbox?
[Discipulus]: erix the problem was not rain in the brain.. ;=)
[erix]: I'll think about that for a bit; I'll figure it out
[erix]: (damn Discipulus for speaking in IQ tests :P )

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (7)
As of 2017-11-17 20:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:













    Results (272 votes). Check out past polls.

    Notices?