OLD | NEW |
| (Empty) |
1 # 2013-07-01 | |
2 # | |
3 # The author disclaims copyright to this source code. In place of | |
4 # a legal notice, here is a blessing: | |
5 # | |
6 # May you do good and not evil. | |
7 # May you find forgiveness for yourself and forgive others. | |
8 # May you share freely, never taking more than you give. | |
9 # | |
10 #*********************************************************************** | |
11 # | |
12 # This is a test case from content taken "from the wild". In this | |
13 # particular instance, the query was provided with permission by | |
14 # Elan Feingold on 2013-06-27. His message on the SQLite mailing list | |
15 # on that date reads: | |
16 # | |
17 #------------------------------------------------------------------------------ | |
18 # > Can you send (1) the schema (2) the query that is giving problems, and (3) | |
19 # > the content of the sqlite_stat1 table after you have run ANALYZE? If you | |
20 # > can combine all of the above into a script, that would be great! | |
21 # > | |
22 # > If you send (1..3) above and you give us written permission to include the | |
23 # > query in our test suite, that would be off-the-chain terrific. | |
24 # | |
25 # Please find items 1..3 in this file: http://www.plexapp.com/elan/sqlite_bug.tx
t | |
26 # | |
27 # You have our permission to include the query in your test suite. | |
28 # | |
29 # Thanks for an amazing product. | |
30 #----------------------------------------------------------------------------- | |
31 # | |
32 # This test case merely creates the schema and populates SQLITE_STAT1 and | |
33 # SQLITE_STAT3 then runs an EXPLAIN QUERY PLAN to ensure that the right plan | |
34 # is discovered. This test case may need to be adjusted for future revisions | |
35 # of the query planner manage to select a better query plan. The query plan | |
36 # shown here is known to be very fast with the original data. | |
37 # | |
38 # This test should work the same with and without SQLITE_ENABLE_STAT3 | |
39 # | |
40 ############################################################################### | |
41 | |
42 set testdir [file dirname $argv0] | |
43 source $testdir/tester.tcl | |
44 | |
45 ifcapable !stat3 { | |
46 finish_test | |
47 return | |
48 } | |
49 | |
50 do_execsql_test wild001.01 { | |
51 CREATE TABLE "items" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "secid"
integer, "parent_id" integer, "metadata_type" integer, "guid" varchar(255), "me
dia_item_count" integer, "title" varchar(255), "title_sort" varchar(255) COLLATE
NOCASE, "original_title" varchar(255), "studio" varchar(255), "rating" float, "
rating_count" integer, "tagline" varchar(255), "summary" text, "trivia" text, "q
uotes" text, "content_rating" varchar(255), "content_rating_age" integer, "index
" integer, "absolute_index" integer, "duration" integer, "user_thumb_url" varcha
r(255), "user_art_url" varchar(255), "user_banner_url" varchar(255), "user_music
_url" varchar(255), "user_fields" varchar(255), "tags_genre" varchar(255), "tags
_collection" varchar(255), "tags_director" varchar(255), "tags_writer" varchar(2
55), "tags_star" varchar(255), "originally_available_at" datetime, "available_at
" datetime, "expires_at" datetime, "refreshed_at" datetime, "year" integer, "add
ed_at" datetime, "created_at" datetime, "updated_at" datetime, "deleted_at" date
time, "tags_country" varchar(255), "extra_data" varchar(255), "hash" varchar(255
)); | |
52 CREATE INDEX "i_secid" ON "items" ("secid" ); | |
53 CREATE INDEX "i_parent_id" ON "items" ("parent_id" ); | |
54 CREATE INDEX "i_created_at" ON "items" ("created_at" ); | |
55 CREATE INDEX "i_index" ON "items" ("index" ); | |
56 CREATE INDEX "i_title" ON "items" ("title" ); | |
57 CREATE INDEX "i_title_sort" ON "items" ("title_sort" ); | |
58 CREATE INDEX "i_guid" ON "items" ("guid" ); | |
59 CREATE INDEX "i_metadata_type" ON "items" ("metadata_type" ); | |
60 CREATE INDEX "i_deleted_at" ON "items" ("deleted_at" ); | |
61 CREATE INDEX "i_secid_ex1" ON "items" ("secid", "metadata_type", "added_at" ); | |
62 CREATE INDEX "i_hash" ON "items" ("hash" ); | |
63 CREATE TABLE "settings" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "acc
ount_id" integer, "guid" varchar(255), "rating" float, "view_offset" integer, "v
iew_count" integer, "last_viewed_at" datetime, "created_at" datetime, "updated_a
t" datetime); | |
64 CREATE INDEX "s_account_id" ON "settings" ("account_id" ); | |
65 CREATE INDEX "s_guid" ON "settings" ("guid" ); | |
66 ANALYZE; | |
67 INSERT INTO sqlite_stat1 VALUES('settings','s_guid','4740 1'); | |
68 INSERT INTO sqlite_stat1 VALUES('settings','s_account_id','4740 4740'); | |
69 INSERT INTO sqlite_stat1 VALUES('items','i_hash','27316 2'); | |
70 INSERT INTO sqlite_stat1 VALUES('items','i_secid_ex1','27316 6829 4553 3'); | |
71 INSERT INTO sqlite_stat1 VALUES('items','i_deleted_at','27316 27316'); | |
72 INSERT INTO sqlite_stat1 VALUES('items','i_metadata_type','27316 6829'); | |
73 INSERT INTO sqlite_stat1 VALUES('items','i_guid','27316 2'); | |
74 INSERT INTO sqlite_stat1 VALUES('items','i_title_sort','27316 2'); | |
75 INSERT INTO sqlite_stat1 VALUES('items','i_title','27316 2'); | |
76 INSERT INTO sqlite_stat1 VALUES('items','i_index','27316 144'); | |
77 INSERT INTO sqlite_stat1 VALUES('items','i_created_at','27316 2'); | |
78 INSERT INTO sqlite_stat1 VALUES('items','i_parent_id','27316 15'); | |
79 INSERT INTO sqlite_stat1 VALUES('items','i_secid','27316 6829'); | |
80 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,150,150,'com.plexapp.age
nts.thetvdb://153021/2/9?lang=en'); | |
81 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,198,198,'com.plexapp.age
nts.thetvdb://194031/1/10?lang=en'); | |
82 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,526,526,'com.plexapp.age
nts.thetvdb://71256/12/92?lang=en'); | |
83 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,923,923,'com.plexapp.age
nts.thetvdb://71256/15/16?lang=en'); | |
84 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,1008,1008,'com.plexapp.a
gents.thetvdb://71256/15/93?lang=en'); | |
85 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,1053,1053,'com.plexapp.a
gents.thetvdb://71256/16/21?lang=en'); | |
86 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,1068,1068,'com.plexapp.a
gents.thetvdb://71256/16/35?lang=en'); | |
87 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,1235,1235,'com.plexapp.a
gents.thetvdb://71256/17/44?lang=en'); | |
88 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,1255,1255,'com.plexapp.a
gents.thetvdb://71256/17/62?lang=en'); | |
89 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,1573,1573,'com.plexapp.a
gents.thetvdb://71663/20/9?lang=en'); | |
90 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,1580,1580,'com.plexapp.a
gents.thetvdb://71663/21/16?lang=en'); | |
91 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,2000,2000,'com.plexapp.a
gents.thetvdb://73141/9/8?lang=en'); | |
92 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,2107,2107,'com.plexapp.a
gents.thetvdb://73244/6/17?lang=en'); | |
93 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,2256,2256,'com.plexapp.a
gents.thetvdb://74845/4/7?lang=en'); | |
94 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,2408,2408,'com.plexapp.a
gents.thetvdb://75978/2/21?lang=en'); | |
95 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,2634,2634,'com.plexapp.a
gents.thetvdb://79126/1/1?lang=en'); | |
96 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,2962,2962,'com.plexapp.a
gents.thetvdb://79274/3/94?lang=en'); | |
97 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,3160,3160,'com.plexapp.a
gents.thetvdb://79274/5/129?lang=en'); | |
98 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,3161,3161,'com.plexapp.a
gents.thetvdb://79274/5/12?lang=en'); | |
99 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,3688,3688,'com.plexapp.a
gents.thetvdb://79274/8/62?lang=en'); | |
100 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,3714,3714,'com.plexapp.a
gents.thetvdb://79274/8/86?lang=en'); | |
101 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,4002,4002,'com.plexapp.a
gents.thetvdb://79590/13/17?lang=en'); | |
102 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,4215,4215,'com.plexapp.a
gents.thetvdb://80727/3/6?lang=en'); | |
103 INSERT INTO sqlite_stat3 VALUES('settings','s_guid',1,4381,4381,'com.plexapp.a
gents.thetvdb://83462/3/24?lang=en'); | |
104 INSERT INTO sqlite_stat3 VALUES('settings','s_account_id',4740,0,0,1); | |
105 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,1879,1879,'1113f632ccd52ec8
b8d7ca3d6d56da4701e48018'); | |
106 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,2721,2721,'1936154b97bb5567
163edaebc2806830ae419ccf'); | |
107 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,3035,3035,'1c122331d4b7bfa0
dc2c003ab5fb4f7152b9987a'); | |
108 INSERT INTO sqlite_stat3 VALUES('items','i_hash',2,3393,3393,'1f81bdbc9acc3321
dc592b1a109ca075731b549a'); | |
109 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,6071,6070,'393cf7713efb4519
c7a3d1d5403f0d945d15a16a'); | |
110 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,7462,7461,'4677dd37011f8bd9
ae7fbbdd3af6dcd8a5b4ab2d'); | |
111 INSERT INTO sqlite_stat3 VALUES('items','i_hash',2,8435,8434,'4ffa339485334e81
a5e12e03a63b6508d76401cf'); | |
112 INSERT INTO sqlite_stat3 VALUES('items','i_hash',2,8716,8714,'52a093852e6599dd
5004857b7ff5b5b82c7cdb25'); | |
113 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,9107,9104,'561183e39f866d97
ec728e9ff16ac4ad01466111'); | |
114 INSERT INTO sqlite_stat3 VALUES('items','i_hash',2,10942,10939,'66e99b72e29610
f49499ae09ee04a376210d1f08'); | |
115 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,12143,12139,'71f0602427e173
dc2c551535f73fdb6885fe4302'); | |
116 INSERT INTO sqlite_stat3 VALUES('items','i_hash',2,14962,14958,'8ca8e4dfba6960
19830c19ab8a32c7ece9d8534b'); | |
117 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,15179,15174,'8ebf1a5cf33f8a
da1fc5853ac06ac4d7e074f825'); | |
118 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,15375,15370,'908bc211bebdf2
1c79d2d2b54ebaa442ac1f5cae'); | |
119 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,18215,18210,'ab29e4e18ec5a1
4fef95aa713d69e31c045a22c1'); | |
120 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,18615,18610,'ae84c008cc0c33
8bf4f28d798a88575746452f6d'); | |
121 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,18649,18644,'aec7c901353e11
5aa5307e94018ba7507bec3a45'); | |
122 INSERT INTO sqlite_stat3 VALUES('items','i_hash',2,19517,19512,'b75025fbf2e9c5
04e3c1197ff1b69250402a31f8'); | |
123 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,21251,21245,'c7d32f0e3a8f3a
0a3dbd00833833d2ccee62f0fd'); | |
124 INSERT INTO sqlite_stat3 VALUES('items','i_hash',2,23616,23610,'dd5ff61479a9bd
4100de802515d9dcf72d46f07a'); | |
125 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,24287,24280,'e3db00034301b7
555419d4ef6f64769298d5845e'); | |
126 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,24949,24942,'ea336abd197ecd
7013854a25a4f4eb9dea7927c6'); | |
127 INSERT INTO sqlite_stat3 VALUES('items','i_hash',1,25574,25567,'f018ea5182ec3f
32768ca1c3cefbf3ad160ec20b'); | |
128 INSERT INTO sqlite_stat3 VALUES('items','i_hash',2,26139,26132,'f53709a8d81c12
cb0f4f8d58004a25dd063de67c'); | |
129 INSERT INTO sqlite_stat3 VALUES('items','i_secid_ex1',25167,0,0,2); | |
130 INSERT INTO sqlite_stat3 VALUES('items','i_secid_ex1',736,25167,1,3); | |
131 INSERT INTO sqlite_stat3 VALUES('items','i_secid_ex1',15,25903,2,4); | |
132 INSERT INTO sqlite_stat3 VALUES('items','i_secid_ex1',1398,25918,3,5); | |
133 INSERT INTO sqlite_stat3 VALUES('items','i_deleted_at',27316,0,0,NULL); | |
134 INSERT INTO sqlite_stat3 VALUES('items','i_metadata_type',2149,0,0,1); | |
135 INSERT INTO sqlite_stat3 VALUES('items','i_metadata_type',411,2149,1,2); | |
136 INSERT INTO sqlite_stat3 VALUES('items','i_metadata_type',1440,2560,2,3); | |
137 INSERT INTO sqlite_stat3 VALUES('items','i_metadata_type',23316,4000,3,4); | |
138 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,215,215,'com.plexapp.agents
.imdb://tt0065702?lang=en'); | |
139 INSERT INTO sqlite_stat3 VALUES('items','i_guid',2,711,711,'com.plexapp.agents
.imdb://tt0198781?lang=en'); | |
140 INSERT INTO sqlite_stat3 VALUES('items','i_guid',2,987,986,'com.plexapp.agents
.imdb://tt0454876?lang=en'); | |
141 INSERT INTO sqlite_stat3 VALUES('items','i_guid',2,1004,1002,'com.plexapp.agen
ts.imdb://tt0464154?lang=en'); | |
142 INSERT INTO sqlite_stat3 VALUES('items','i_guid',2,1056,1053,'com.plexapp.agen
ts.imdb://tt0499549?lang=en'); | |
143 INSERT INTO sqlite_stat3 VALUES('items','i_guid',2,1120,1116,'com.plexapp.agen
ts.imdb://tt0903624?lang=en'); | |
144 INSERT INTO sqlite_stat3 VALUES('items','i_guid',2,1250,1245,'com.plexapp.agen
ts.imdb://tt1268799?lang=en'); | |
145 INSERT INTO sqlite_stat3 VALUES('items','i_guid',2,1270,1264,'com.plexapp.agen
ts.imdb://tt1320261?lang=en'); | |
146 INSERT INTO sqlite_stat3 VALUES('items','i_guid',2,1376,1369,'com.plexapp.agen
ts.imdb://tt1772341?lang=en'); | |
147 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,3035,3027,'com.plexapp.agen
ts.thetvdb://153021/3/14?lang=en'); | |
148 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,6071,6063,'com.plexapp.agen
ts.thetvdb://71173/1/18?lang=en'); | |
149 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,6342,6334,'com.plexapp.agen
ts.thetvdb://71256/13/4?lang=en'); | |
150 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,9107,9099,'com.plexapp.agen
ts.thetvdb://72389/2/19?lang=en'); | |
151 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,11740,11732,'com.plexapp.ag
ents.thetvdb://73893/2/13?lang=en'); | |
152 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,12143,12135,'com.plexapp.ag
ents.thetvdb://73976/4/23?lang=en'); | |
153 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,15179,15171,'com.plexapp.ag
ents.thetvdb://75897/16/12?lang=en'); | |
154 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,17408,17400,'com.plexapp.ag
ents.thetvdb://76808/2/16?lang=en'); | |
155 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,17984,17976,'com.plexapp.ag
ents.thetvdb://77068/1/16?lang=en'); | |
156 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,18215,18207,'com.plexapp.ag
ents.thetvdb://77259/1/1?lang=en'); | |
157 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,21251,21243,'com.plexapp.ag
ents.thetvdb://78957/8/2?lang=en'); | |
158 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,24287,24279,'com.plexapp.ag
ents.thetvdb://80337/5/8?lang=en'); | |
159 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,25513,25505,'com.plexapp.ag
ents.thetvdb://82226/6?lang=en'); | |
160 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,25548,25540,'com.plexapp.ag
ents.thetvdb://82339/2/10?lang=en'); | |
161 INSERT INTO sqlite_stat3 VALUES('items','i_guid',1,26770,26762,'com.plexapp.ag
ents.thetvdb://86901/1/3?lang=en'); | |
162 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',1524,0,0,''); | |
163 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',2,3034,1391,'Attack of
the Giant Squid'); | |
164 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',51,4742,2895,'Brad Sher
wood'); | |
165 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',11,4912,2996,'Brian Wil
liams'); | |
166 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',39,5847,3857,'Chip Este
n'); | |
167 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',1,6071,4015,'Chuck Vers
us the DeLorean'); | |
168 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',12,7625,5436,'Denny Sie
gel'); | |
169 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',30,8924,6618,'Episode 1
'); | |
170 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',29,9015,6629,'Episode 2
'); | |
171 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',32,9082,6643,'Episode 3
'); | |
172 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',28,9135,6654,'Episode 4
'); | |
173 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',26,9183,6665,'Episode 5
'); | |
174 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',27,9229,6677,'Episode 6
'); | |
175 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',22,9266,6688,'Episode 7
'); | |
176 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',20,9298,6699,'Episode 8
'); | |
177 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',55,11750,8817,'Greg Pro
ops'); | |
178 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',1,12143,9120,'Hardware
Jungle'); | |
179 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',33,14712,11435,'Kathy G
reenwood'); | |
180 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',3,15179,11840,'Last Cal
l'); | |
181 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',1,18215,14601,'Nature o
r Nurture?'); | |
182 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',12,18241,14623,'Neil De
Grasse Tyson'); | |
183 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',68,19918,16144,'Pilot')
; | |
184 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',7,21251,17298,'Reza Asl
an'); | |
185 INSERT INTO sqlite_stat3 VALUES('items','i_title_sort',1,24287,20035,'Technovi
king'); | |
186 INSERT INTO sqlite_stat3 VALUES('items','i_title',1524,0,0,''); | |
187 INSERT INTO sqlite_stat3 VALUES('items','i_title',1,3035,1429,'Anderson Can''t
Dance'); | |
188 INSERT INTO sqlite_stat3 VALUES('items','i_title',51,4782,2991,'Brad Sherwood'
); | |
189 INSERT INTO sqlite_stat3 VALUES('items','i_title',11,4936,3079,'Brian Williams
'); | |
190 INSERT INTO sqlite_stat3 VALUES('items','i_title',39,5694,3783,'Chip Esten'); | |
191 INSERT INTO sqlite_stat3 VALUES('items','i_title',1,6071,4100,'Clive Warren'); | |
192 INSERT INTO sqlite_stat3 VALUES('items','i_title',12,7144,5078,'Denny Siegel')
; | |
193 INSERT INTO sqlite_stat3 VALUES('items','i_title',30,8249,6097,'Episode 1'); | |
194 INSERT INTO sqlite_stat3 VALUES('items','i_title',29,8340,6108,'Episode 2'); | |
195 INSERT INTO sqlite_stat3 VALUES('items','i_title',32,8407,6122,'Episode 3'); | |
196 INSERT INTO sqlite_stat3 VALUES('items','i_title',28,8460,6133,'Episode 4'); | |
197 INSERT INTO sqlite_stat3 VALUES('items','i_title',26,8508,6144,'Episode 5'); | |
198 INSERT INTO sqlite_stat3 VALUES('items','i_title',27,8554,6156,'Episode 6'); | |
199 INSERT INTO sqlite_stat3 VALUES('items','i_title',22,8591,6167,'Episode 7'); | |
200 INSERT INTO sqlite_stat3 VALUES('items','i_title',20,8623,6178,'Episode 8'); | |
201 INSERT INTO sqlite_stat3 VALUES('items','i_title',1,9107,6537,'Fat Albert and
the Cosby Kids'); | |
202 INSERT INTO sqlite_stat3 VALUES('items','i_title',55,10539,7843,'Greg Proops')
; | |
203 INSERT INTO sqlite_stat3 VALUES('items','i_title',1,12143,9276,'Iron Age Remai
ns'); | |
204 INSERT INTO sqlite_stat3 VALUES('items','i_title',33,13118,10143,'Kathy Greenw
ood'); | |
205 INSERT INTO sqlite_stat3 VALUES('items','i_title',1,15179,11972,'Mink'); | |
206 INSERT INTO sqlite_stat3 VALUES('items','i_title',68,17411,14035,'Pilot'); | |
207 INSERT INTO sqlite_stat3 VALUES('items','i_title',2,18214,14727,'Reflections')
; | |
208 INSERT INTO sqlite_stat3 VALUES('items','i_title',4,21250,17481,'The Apartment
'); | |
209 INSERT INTO sqlite_stat3 VALUES('items','i_title',1,24287,20283,'The Simpsons
Already Did It'); | |
210 INSERT INTO sqlite_stat3 VALUES('items','i_index',4315,95,2,1); | |
211 INSERT INTO sqlite_stat3 VALUES('items','i_index',1553,4410,3,2); | |
212 INSERT INTO sqlite_stat3 VALUES('items','i_index',1485,5963,4,3); | |
213 INSERT INTO sqlite_stat3 VALUES('items','i_index',1414,7448,5,4); | |
214 INSERT INTO sqlite_stat3 VALUES('items','i_index',1367,8862,6,5); | |
215 INSERT INTO sqlite_stat3 VALUES('items','i_index',1328,10229,7,6); | |
216 INSERT INTO sqlite_stat3 VALUES('items','i_index',1161,11557,8,7); | |
217 INSERT INTO sqlite_stat3 VALUES('items','i_index',1108,12718,9,8); | |
218 INSERT INTO sqlite_stat3 VALUES('items','i_index',1033,13826,10,9); | |
219 INSERT INTO sqlite_stat3 VALUES('items','i_index',1014,14859,11,10); | |
220 INSERT INTO sqlite_stat3 VALUES('items','i_index',929,15873,12,11); | |
221 INSERT INTO sqlite_stat3 VALUES('items','i_index',906,16802,13,12); | |
222 INSERT INTO sqlite_stat3 VALUES('items','i_index',844,17708,14,13); | |
223 INSERT INTO sqlite_stat3 VALUES('items','i_index',690,18552,15,14); | |
224 INSERT INTO sqlite_stat3 VALUES('items','i_index',655,19242,16,15); | |
225 INSERT INTO sqlite_stat3 VALUES('items','i_index',625,19897,17,16); | |
226 INSERT INTO sqlite_stat3 VALUES('items','i_index',579,20522,18,17); | |
227 INSERT INTO sqlite_stat3 VALUES('items','i_index',555,21101,19,18); | |
228 INSERT INTO sqlite_stat3 VALUES('items','i_index',526,21656,20,19); | |
229 INSERT INTO sqlite_stat3 VALUES('items','i_index',501,22182,21,20); | |
230 INSERT INTO sqlite_stat3 VALUES('items','i_index',459,22683,22,21); | |
231 INSERT INTO sqlite_stat3 VALUES('items','i_index',439,23142,23,22); | |
232 INSERT INTO sqlite_stat3 VALUES('items','i_index',315,23581,24,23); | |
233 INSERT INTO sqlite_stat3 VALUES('items','i_index',192,24177,26,25); | |
234 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',1851,0,0,NULL); | |
235 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',373,1857,2,'2011-10-22
14:54:39'); | |
236 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',595,2230,3,'2011-10-22
14:54:41'); | |
237 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',337,2825,4,'2011-10-22
14:54:43'); | |
238 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',361,3378,8,'2011-10-22
14:54:54'); | |
239 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',160,3739,9,'2011-10-22
14:54:56'); | |
240 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',315,4000,11,'2011-10-22
14:54:59'); | |
241 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',321,4334,13,'2011-10-22
14:55:02'); | |
242 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',1292,4723,16,'2011-10-2
2 14:55:06'); | |
243 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',161,6015,17,'2011-10-22
14:55:07'); | |
244 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',1,9107,2677,'2012-09-04
18:07:50'); | |
245 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',313,9717,3270,'2012-10-
18 16:50:21'); | |
246 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',450,10030,3271,'2012-10
-18 16:50:22'); | |
247 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',389,10668,3275,'2012-10
-18 16:50:26'); | |
248 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',796,11057,3276,'2012-10
-18 16:51:06'); | |
249 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',161,12041,3280,'2012-10
-19 19:52:37'); | |
250 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',135,13281,4186,'2013-02
-19 00:56:10'); | |
251 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',1063,13416,4187,'2013-0
2-19 00:56:11'); | |
252 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',797,14479,4188,'2013-02
-19 00:56:13'); | |
253 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',147,15276,4189,'2013-02
-19 00:56:15'); | |
254 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',346,15423,4190,'2013-02
-19 00:56:16'); | |
255 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',1,18215,6436,'2013-05-0
5 14:09:54'); | |
256 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',2,21251,8122,'2013-05-2
4 15:25:45'); | |
257 INSERT INTO sqlite_stat3 VALUES('items','i_created_at',1,24287,11116,'2013-05-
26 14:17:39'); | |
258 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',2560,0,0,NULL); | |
259 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',18,3022,31,2350); | |
260 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',10,6068,285,8150); | |
261 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',158,6346,315,8949); | |
262 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',34,9094,562,18831); | |
263 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',20,12139,794,22838); | |
264 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',134,14033,886,24739); | |
265 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',159,14167,887,24740); | |
266 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',161,14326,888,24741); | |
267 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',161,14487,889,24742); | |
268 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',124,14648,890,24743); | |
269 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',157,14772,891,24744); | |
270 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',126,15043,894,24747); | |
271 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',40,15169,895,24748); | |
272 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',161,15243,898,24753); | |
273 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',138,15404,899,24754); | |
274 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',160,15542,900,24755); | |
275 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',161,15702,901,24756); | |
276 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',161,15863,902,24757); | |
277 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',124,16024,903,24758); | |
278 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',155,16148,904,24759); | |
279 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',26,18208,1043,29704); | |
280 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',2,21251,1282,32952); | |
281 INSERT INTO sqlite_stat3 VALUES('items','i_parent_id',13,24279,1583,36068); | |
282 INSERT INTO sqlite_stat3 VALUES('items','i_secid',25167,0,0,2); | |
283 INSERT INTO sqlite_stat3 VALUES('items','i_secid',736,25167,1,3); | |
284 INSERT INTO sqlite_stat3 VALUES('items','i_secid',15,25903,2,4); | |
285 INSERT INTO sqlite_stat3 VALUES('items','i_secid',1398,25918,3,5); | |
286 ANALYZE sqlite_master; | |
287 | |
288 explain query plan | |
289 select items.title | |
290 from items | |
291 join items as child on child.parent_id=items.id | |
292 join items as grandchild on grandchild.parent_id=child.id | |
293 join settings | |
294 on settings.guid=grandchild.guid | |
295 and settings.account_id=1 | |
296 where items.metadata_type=2 | |
297 and items.secid=2 | |
298 and settings.last_viewed_at is not null | |
299 group by items.id | |
300 order by settings.last_viewed_at desc | |
301 limit 10; | |
302 } [list \ | |
303 0 0 3 {SEARCH TABLE settings USING INDEX s_account_id (account_id=?)} \ | |
304 0 1 2 {SEARCH TABLE items AS grandchild USING INDEX i_guid (guid=?)} \ | |
305 0 2 1 {SEARCH TABLE items AS child USING INTEGER PRIMARY KEY (rowid=?)} \ | |
306 0 3 0 {SEARCH TABLE items USING INTEGER PRIMARY KEY (rowid=?)} \ | |
307 0 0 0 {USE TEMP B-TREE FOR GROUP BY} \ | |
308 0 0 0 {USE TEMP B-TREE FOR ORDER BY}] | |
309 | |
310 | |
311 finish_test | |
OLD | NEW |