On 09/12/2007, Markus Gritsch <[EMAIL PROTECTED]> wrote:
> On 09/12/2007, D. Richard Hipp <[EMAIL PROTECTED]> wrote:
> >
> > SQLite will optimize a GLOB where the right parameter is
> > a literal string.  It will not do so if the right parameter is a
> > parameter.  http://www.sqlite.org/optoverview.html#like_opt
>
> Hmm, if I replace 'hui*' by 'hu*'
>
> c.execute("""SELECT * FROM entry, word, word_entry WHERE
>  entry.id = word_entry.entry_id AND
>  word.id = word_entry.word_id AND
>  word.word GLOB ?
> """, ('hu*',))
>
> the query using bind variables also takes an unmeasurable short time period.

Even more strange:

c.execute("""SELECT * FROM entry, word, word_entry WHERE
 entry.id = word_entry.entry_id AND
 word.id = word_entry.word_id AND
 word.word GLOB ?
""", ('tes*',))

takes less than 1ms but

c.execute("""SELECT * FROM entry, word, word_entry WHERE
 entry.id = word_entry.entry_id AND
 word.id = word_entry.word_id AND
 word.word GLOB ?
""", ('test',))

takes several hundred ms.

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to