Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Enhance whereLoopCheaperProperSubset(X,Y) so that it does not report true if X uses skip-scan less than Y, since in that case X might deserve to be cheaper even if it is a proper subset. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
c106b755369c1f8546e897ecd2ac56fd |
User & Date: | drh 2014-11-05 13:13:13.983 |
Context
2014-11-05
| ||
14:19 | Add a test case to check that the previous commit is effective. (check-in: 948d6e5d07 user: dan tags: trunk) | |
13:13 | Enhance whereLoopCheaperProperSubset(X,Y) so that it does not report true if X uses skip-scan less than Y, since in that case X might deserve to be cheaper even if it is a proper subset. (check-in: c106b75536 user: drh tags: trunk) | |
09:07 | Add the ".scanstats on" command to the shell tool. Executing this command causes the shell tool to print values from sqlite3_stmt_scanstatus() after each query is run. (check-in: 7974c0ed10 user: dan tags: trunk) | |
Changes
Changes to src/where.c.
︙ | |||
4008 4009 4010 4011 4012 4013 4014 | 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 | - + + - + + + + | whereLoopDelete(db, p); } sqlite3DbFree(db, pWInfo); } } /* |
︙ | |||
4064 4065 4066 4067 4068 4069 4070 | 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 | - + - - | static void whereLoopAdjustCost(const WhereLoop *p, WhereLoop *pTemplate){ if( (pTemplate->wsFlags & WHERE_INDEXED)==0 ) return; for(; p; p=p->pNextLoop){ if( p->iTab!=pTemplate->iTab ) continue; if( (p->wsFlags & WHERE_INDEXED)==0 ) continue; if( whereLoopCheaperProperSubset(p, pTemplate) ){ /* Adjust pTemplate cost downward so that it is cheaper than its |
︙ |