maybe "t2 cross join t1" makes more sense given the sizes of the tables.
--- Joe Wilson <[EMAIL PROTECTED]> wrote: > Hard to say what's the problem if you don't post the > schema of the tables and the indexes, and provide some > sample data. > > Perhaps there is a bug in the join optimizer. > Try using an explicit CROSS JOIN. > > select t1.a, t1.b, t2.c, t2.d > from t1 > cross join t2 > where t1.x = t2.x and t1.a >= 100 and t1.a < 200 > group by t1.a, t1.b, t2.c, t2.d > > > --- Steve Green <[EMAIL PROTECTED]> wrote: > > > The performance is exactly the same after running analyze on both tables. > > > > Steve > > > > Joe Wilson wrote: > > > > > Run an ANALYZE statement on your database and your > > > queries will be fast once again. > > > > > > Perhaps SQLite should fall back to the old non-optimized > > > join behavior when the sqlite_stat1 table is missing. > > > This would cover 99% of the pre-SQLite3.2.3 legacy databases > > > out there where the queries have already been hand-tuned. > > > > > > --- Steve Green <[EMAIL PROTECTED]> wrote: > > > > > > > > >>Hi, > > >> > > >>I currently have a v3.2.0 database that contains two tables that I > > >>regularly > > >>query with a join, e.g., > > >> > > >>select t1.a, t1.b, t2.c, t2.d > > >>from t1 > > >>join t2 > > >>on t1.x = t2.x and t1.a >= 100 and t1.a < 200 > > >>group by t1.a, t1.b, t2.c, t2.d > > >> > > >>Table t1 has an index on a > > >>Table t2 has an index on x > > >> > > >>I've created a new v3.3.4 database with the same schema and data. Table > > >>t1 has > > >>about 150 million rows and t2 has about 3000 rows. When I run the query > > >>using > > >>v3.2.0, it returns in about 0.1 seconds. When run using v3.3.4, it takes > > >>about > > >>20 seconds. For completeness, I ran the same query using v3.2.8, v3.3.2, > > >>and > > >>v3.3.3. v3.2.8 performed the same (roughly) as v3.2.0; v3.3.2 and v3.3.3 > > >>performed > > >>the same as v3.3.4 (so, it appears that the change was made going into > > >>v3.3.x). > > >> > > >>When I ran an explain on the query in both databases, the main difference > > >>I > > >>noticed was in the opening of the database tables; in v3.2.0, it appears > > >>that > > >>the indices of both tables are being used... > > >> > > >>addr opcode p1 p2 p3 > > >>---- -------------- ---------- ---------- > > >>--------------------------------- > > >><snip> > > >>37 OpenRead 1 4 > > >>38 SetNumColumns 1 7 > > >>39 Integer 0 0 > > >>40 OpenRead 3 6 keyinfo(1,BINARY) > > >>41 Integer 2 0 > > >>42 OpenRead 0 2 > > >>43 SetNumColumns 0 8 > > >>44 Integer 2 0 > > >>45 OpenRead 4 3 keyinfo(1,BINARY) > > >>46 Integer 3795633 0 > > >><snip> > > >> > > >>In v3.3.4, it appears that the index of only one of the tables is being > > >>used... > > >> > > >>addr opcode p1 p2 p3 > > >>---- -------------- ---------- ---------- > > >>--------------------------------- > > >><snip> > > >>37 OpenRead 0 2 > > >>38 SetNumColumns 0 3 > > >>39 Integer 0 0 > > >>40 OpenRead 1 4 > > >>41 SetNumColumns 1 7 > > >>42 Integer 0 0 > > >>43 OpenRead 3 6 keyinfo(1,BINARY) > > >>44 Rewind 0 78 > > >>45 Integer 3795633 0 > > >><snip> > > >> > > >>It's quite possible that I'm misinterpreting the explain data as I'm > > >>fairly new > > >>with it... However, it seems to me that this might explain the huge > > >>difference > > >>in performance. > > >> > > >>Has anyone else seen this type of performance difference between v3.2.x > > >>and v3.3.x? > > >>Any ideas on how we can improve the performance using v3.3.x (we'd really > > >>like to > > >>use the most current version of the database, but the performance > > >>difference would > > >>be a killer)? > > >> > > >>Thanks, > > >> > > >>Steve > > > > > > > > > > > > > > > __________________________________________________ > > > Do You Yahoo!? > > > Tired of spam? Yahoo! Mail has the best spam protection around > > > http://mail.yahoo.com > > > > -- > > Steve Green > > SAVVIS > > Transforming Information Technology SM > > > > This message contains information which may be confidential and/or > > privileged. Unless you are the intended recipient (or authorized > > to receive for the intended recipient), you may not read, use, > > copy or disclose to anyone the message or any information contained > > in the message. If you have received the message in error, please > > advise the sender by reply e-mail at [EMAIL PROTECTED] and > > delete the message and any attachment(s) thereto without retaining > > any copies. > > > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com