|
5 | 5 | {
|
6 | 6 | "SQL": "explain format = 'brief' select * from t1;",
|
7 | 7 | "Plan": [
|
8 |
| - "TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", |
9 |
| - "└─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", |
10 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
| 8 | + "TableReader 49152.00 root MppVersion: 2, data:ExchangeSender", |
| 9 | + "└─ExchangeSender 49152.00 mpp[tiflash] ExchangeType: PassThrough", |
| 10 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
11 | 11 | ],
|
12 | 12 | "Warn": null
|
13 | 13 | },
|
14 | 14 | {
|
15 | 15 | "SQL": "explain format = 'brief' select * from t1 where a<1;",
|
16 | 16 | "Plan": [
|
17 |
| - "TableReader 3323.33 root MppVersion: 2, data:ExchangeSender", |
18 |
| - "└─ExchangeSender 3323.33 mpp[tiflash] ExchangeType: PassThrough", |
19 |
| - " └─Selection 3323.33 mpp[tiflash] lt(test.t1.a, 1)", |
20 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" |
| 17 | + "TableReader 16334.85 root MppVersion: 2, data:ExchangeSender", |
| 18 | + "└─ExchangeSender 16334.85 mpp[tiflash] ExchangeType: PassThrough", |
| 19 | + " └─TableFullScan 16334.85 mpp[tiflash] table:t1 pushed down filter:lt(test.t1.a, 1), keep order:false, stats:pseudo" |
21 | 20 | ],
|
22 | 21 | "Warn": null
|
23 | 22 | },
|
24 | 23 | {
|
25 | 24 | "SQL": "explain format = 'brief' select * from t1 where vec = '[1,1,1]'",
|
26 | 25 | "Plan": [
|
27 |
| - "TableReader 10.00 root MppVersion: 2, data:ExchangeSender", |
28 |
| - "└─ExchangeSender 10.00 mpp[tiflash] ExchangeType: PassThrough", |
29 |
| - " └─TableFullScan 10.00 mpp[tiflash] table:t1 pushed down filter:eq(test.t1.vec, [1,1,1]), keep order:false, stats:pseudo" |
| 26 | + "TableReader 49.15 root MppVersion: 2, data:ExchangeSender", |
| 27 | + "└─ExchangeSender 49.15 mpp[tiflash] ExchangeType: PassThrough", |
| 28 | + " └─TableFullScan 49.15 mpp[tiflash] table:t1 pushed down filter:eq(test.t1.vec, [1,1,1]), keep order:false, stats:pseudo" |
30 | 29 | ],
|
31 | 30 | "Warn": null
|
32 | 31 | },
|
33 | 32 | {
|
34 | 33 | "SQL": "explain format = 'brief' select * from t1 where vec_cosine_distance(vec, '[1,1,1]') < 0.1",
|
35 | 34 | "Plan": [
|
36 |
| - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", |
37 |
| - "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", |
38 |
| - " └─Selection 8000.00 mpp[tiflash] lt(vec_cosine_distance(test.t1.vec, [1,1,1]), 0.1)", |
39 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" |
| 35 | + "TableReader 39321.60 root MppVersion: 2, data:ExchangeSender", |
| 36 | + "└─ExchangeSender 39321.60 mpp[tiflash] ExchangeType: PassThrough", |
| 37 | + " └─Selection 39321.60 mpp[tiflash] lt(vec_cosine_distance(test.t1.vec, [1,1,1]), 0.1)", |
| 38 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" |
40 | 39 | ],
|
41 | 40 | "Warn": null
|
42 | 41 | },
|
43 | 42 | {
|
44 | 43 | "SQL": "explain format = 'brief' select vec_cosine_distance(vec, '[1,1,1]') as dis from t1 having dis < 0.1",
|
45 | 44 | "Plan": [
|
46 |
| - "TableReader 8000.00 root MppVersion: 2, data:ExchangeSender", |
47 |
| - "└─ExchangeSender 8000.00 mpp[tiflash] ExchangeType: PassThrough", |
48 |
| - " └─Projection 8000.00 mpp[tiflash] vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", |
49 |
| - " └─Selection 8000.00 mpp[tiflash] lt(vec_cosine_distance(test.t1.vec, [1,1,1]), 0.1)", |
50 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" |
| 45 | + "TableReader 39321.60 root MppVersion: 2, data:ExchangeSender", |
| 46 | + "└─ExchangeSender 39321.60 mpp[tiflash] ExchangeType: PassThrough", |
| 47 | + " └─Projection 39321.60 mpp[tiflash] vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", |
| 48 | + " └─Selection 39321.60 mpp[tiflash] lt(vec_cosine_distance(test.t1.vec, [1,1,1]), 0.1)", |
| 49 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 pushed down filter:empty, keep order:false, stats:pseudo" |
51 | 50 | ],
|
52 | 51 | "Warn": null
|
53 | 52 | },
|
54 | 53 | {
|
55 | 54 | "SQL": "explain format = 'brief' select * from t1 order by vec_cosine_distance(vec, '[1,1,1]')",
|
56 | 55 | "Plan": [
|
57 |
| - "Projection 10000.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d", |
58 |
| - "└─Sort 10000.00 root Column#7", |
59 |
| - " └─Projection 10000.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", |
60 |
| - " └─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", |
61 |
| - " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", |
62 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
| 56 | + "Projection 49152.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d", |
| 57 | + "└─Sort 49152.00 root Column#7", |
| 58 | + " └─Projection 49152.00 root test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", |
| 59 | + " └─TableReader 49152.00 root MppVersion: 2, data:ExchangeSender", |
| 60 | + " └─ExchangeSender 49152.00 mpp[tiflash] ExchangeType: PassThrough", |
| 61 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
63 | 62 | ],
|
64 | 63 | "Warn": null
|
65 | 64 | },
|
|
103 | 102 | " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough",
|
104 | 103 | " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d",
|
105 | 104 | " └─TopN 1.00 mpp[tiflash] Column#7:desc, offset:0, count:1",
|
106 |
| - " └─Projection 10000.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", |
107 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
| 105 | + " └─Projection 49152.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", |
| 106 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
108 | 107 | ],
|
109 | 108 | "Warn": null
|
110 | 109 | },
|
|
118 | 117 | " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough",
|
119 | 118 | " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d",
|
120 | 119 | " └─TopN 1.00 mpp[tiflash] Column#7:desc, offset:0, count:1",
|
121 |
| - " └─Projection 10000.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", |
122 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
| 120 | + " └─Projection 49152.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", |
| 121 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
123 | 122 | ],
|
124 | 123 | "Warn": null
|
125 | 124 | },
|
|
133 | 132 | " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough",
|
134 | 133 | " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d",
|
135 | 134 | " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1",
|
136 |
| - " └─Projection 10000.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, plus(vec_cosine_distance(test.t1.vec, [1,1,1]), 1)->Column#7", |
137 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
| 135 | + " └─Projection 49152.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, plus(vec_cosine_distance(test.t1.vec, [1,1,1]), 1)->Column#7", |
| 136 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
138 | 137 | ],
|
139 | 138 | "Warn": null
|
140 | 139 | },
|
|
148 | 147 | " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough",
|
149 | 148 | " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d",
|
150 | 149 | " └─TopN 1.00 mpp[tiflash] Column#7, test.t1.vec, offset:0, count:1",
|
151 |
| - " └─Projection 10000.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", |
152 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
| 150 | + " └─Projection 49152.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", |
| 151 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
153 | 152 | ],
|
154 | 153 | "Warn": null
|
155 | 154 | },
|
|
163 | 162 | " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough",
|
164 | 163 | " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d",
|
165 | 164 | " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1",
|
166 |
| - " └─Projection 10000.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l2_distance(test.t1.vec, [1,1,1])->Column#7", |
167 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
| 165 | + " └─Projection 49152.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l2_distance(test.t1.vec, [1,1,1])->Column#7", |
| 166 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
168 | 167 | ],
|
169 | 168 | "Warn": null
|
170 | 169 | },
|
|
178 | 177 | " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough",
|
179 | 178 | " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d",
|
180 | 179 | " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1",
|
181 |
| - " └─Projection 10000.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l1_distance(test.t1.vec, [1,1,1])->Column#7", |
182 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
| 180 | + " └─Projection 49152.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l1_distance(test.t1.vec, [1,1,1])->Column#7", |
| 181 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
183 | 182 | ],
|
184 | 183 | "Warn": null
|
185 | 184 | },
|
|
193 | 192 | " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough",
|
194 | 193 | " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d",
|
195 | 194 | " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1",
|
196 |
| - " └─Projection 10000.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l2_distance(test.t1.c, [1,1,1])->Column#7", |
197 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
| 195 | + " └─Projection 49152.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l2_distance(test.t1.c, [1,1,1])->Column#7", |
| 196 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
198 | 197 | ],
|
199 | 198 | "Warn": null
|
200 | 199 | },
|
|
208 | 207 | " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough",
|
209 | 208 | " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d",
|
210 | 209 | " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1",
|
211 |
| - " └─Projection 10000.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l2_distance(test.t1.d, [1,1,1])->Column#7", |
212 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
| 210 | + " └─Projection 49152.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l2_distance(test.t1.d, [1,1,1])->Column#7", |
| 211 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
213 | 212 | ],
|
214 | 213 | "Warn": null
|
215 | 214 | },
|
|
223 | 222 | " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough",
|
224 | 223 | " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d",
|
225 | 224 | " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1",
|
226 |
| - " └─Projection 10000.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.d, [1,1,1])->Column#7", |
227 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
| 225 | + " └─Projection 49152.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.d, [1,1,1])->Column#7", |
| 226 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
228 | 227 | ],
|
229 | 228 | "Warn": null
|
230 | 229 | },
|
|
238 | 237 | " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough",
|
239 | 238 | " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d",
|
240 | 239 | " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1",
|
241 |
| - " └─Projection 10000.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l1_distance(test.t1.d, [1,1,1])->Column#7", |
242 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
| 240 | + " └─Projection 49152.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_l1_distance(test.t1.d, [1,1,1])->Column#7", |
| 241 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
243 | 242 | ],
|
244 | 243 | "Warn": null
|
245 | 244 | },
|
246 | 245 | {
|
247 | 246 | "SQL": "explain format = 'brief' select vec_cosine_distance(vec, '[1,1,1]') as d from t1 order by d",
|
248 | 247 | "Plan": [
|
249 |
| - "Sort 10000.00 root Column#7", |
250 |
| - "└─TableReader 10000.00 root MppVersion: 2, data:ExchangeSender", |
251 |
| - " └─ExchangeSender 10000.00 mpp[tiflash] ExchangeType: PassThrough", |
252 |
| - " └─Projection 10000.00 mpp[tiflash] vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", |
253 |
| - " └─TableFullScan 10000.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
| 248 | + "Sort 49152.00 root Column#7", |
| 249 | + "└─TableReader 49152.00 root MppVersion: 2, data:ExchangeSender", |
| 250 | + " └─ExchangeSender 49152.00 mpp[tiflash] ExchangeType: PassThrough", |
| 251 | + " └─Projection 49152.00 mpp[tiflash] vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", |
| 252 | + " └─TableFullScan 49152.00 mpp[tiflash] table:t1 keep order:false, stats:pseudo" |
254 | 253 | ],
|
255 | 254 | "Warn": null
|
256 | 255 | },
|
|
296 | 295 | " └─ExchangeSender 1.00 mpp[tiflash] ExchangeType: PassThrough",
|
297 | 296 | " └─Projection 1.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d",
|
298 | 297 | " └─TopN 1.00 mpp[tiflash] Column#7, offset:0, count:1",
|
299 |
| - " └─Projection 10.00 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", |
300 |
| - " └─TableFullScan 10.00 mpp[tiflash] table:t1 pushed down filter:eq(test.t1.a, 0), keep order:false, stats:pseudo" |
| 298 | + " └─Projection 49.15 mpp[tiflash] test.t1.vec, test.t1.a, test.t1.b, test.t1.c, test.t1.d, vec_cosine_distance(test.t1.vec, [1,1,1])->Column#7", |
| 299 | + " └─TableFullScan 49.15 mpp[tiflash] table:t1 pushed down filter:eq(test.t1.a, 0), keep order:false, stats:pseudo" |
301 | 300 | ],
|
302 | 301 | "Warn": null
|
303 | 302 | }
|
|
0 commit comments