[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sqlite-dev
Subject:    Re: [sqlite-dev] New Optimizations in 3.7.16 -- Explain please?
From:       Peter Reid <peter.d.reid () gmail ! com>
Date:       2013-04-12 1:46:17
Message-ID: CAO-dNqSK1tUsBSSMHedq2n+RACnCb44WXTo--zZ5nOjcyCPuqQ () mail ! gmail ! com
[Download RAW message or body]

One of the commits in question is http://www.sqlite.org/src/info/2cef8b68f0 .

Here is a query that it seems to affect:
create table t (a int, b, int);
create index t_ab on t(a, b);
explain query plan select * from t where a IN (7,2,5) ORDER BY b;

In 3.7.10 (which I just had sitting around), this gives:
0|0|0|SEARCH TABLE t USING COVERING INDEX t_ab (a=?) (~30 rows)
0|0|0|EXECUTE LIST SUBQUERY 1
0|0|0|USE TEMP B-TREE FOR ORDER BY

In 3.7.16.1, this gives:
0|0|0|SEARCH TABLE t USING INDEX t_ab (a=?) (~30 rows)
0|0|0|EXECUTE LIST SUBQUERY 1

On 4/11/13, Richard Hipp <drh@sqlite.org> wrote:
> On Tue, Apr 9, 2013 at 8:47 PM, Patrick Herbst <paherbst@gmail.com> wrote:
>
>> I posted this Q in the user's list, but no one responded or seems to
>> know...
>>
>> I figured the developers would most likely know... so...
>>
>> Can someone give me a use-case where the new changes make a difference in
>> relation to the following two changes:
>>
>
> You've asked 3 times.  This seems really important to you.  But I don't
> have the time to work up examples to hand to you.
>
> Have you considered, perhaps, looking at the timeline (
> http://www.sqlite.org/src/timeline) and finding the places where we checked
> in the changes, and then looking at the new test cases we added, or old
> test cases we changed, to perhaps get some clues that way?  Or, maybe even
> look at the code changes themselves.
>
> --
> D. Richard Hipp
> drh@sqlite.org
>

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic