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