@@ -247,83 +247,83 @@ WHERE t1.b IN (
247
247
)
248
248
ORDER BY t1.a ASC;
249
249
----
250
- project
251
- ├── columns: "?column?":24 (int!null) [hidden: t1.a:1(int!null)]
250
+ sort
251
+ ├── columns: "?column?":23 (int!null) [hidden: t1.a:1(int!null)]
252
252
├── key: (1)
253
- ├── fd: ()-->(24 )
254
- ├── ordering: +1 opt(24 ) [actual: +1]
255
- ├── prune: (1,24 )
256
- ├── interesting orderings: (+1 opt(24 ))
257
- ├ ── select
258
- │ ├── columns: t1.a:1 (int!null) t1.b:2 (int!null)
259
- │ ├── key: (1)
260
- │ ├── fd: ()-->(2 )
261
- │ ├── ordering: +1 opt(2) [actual: +1]
262
- │ ├── prune : (1 )
263
- │ ├── interesting orderings: (+1 opt(2) )
264
- │ ├── scan t65038 [as=t1]
265
- │ │ ├── columns: t1.a:1(int!null) t1.b:2(int )
266
- │ │ ├── key : (1 )
267
- │ │ ├── fd : (1)-->(2 )
268
- │ │ ├── ordering: +1
269
- │ │ ├── prune: (1,2)
270
- │ │ └ ── interesting orderings: (+1 )
271
- │ └ ── filters
272
- │ ├── coalesce [type=bool, subquery]
273
- │ │ ├── subquery [type=bool]
274
- │ │ │ └ ── project
275
- │ │ │ ├── columns: column23:23(bool!null)
276
- │ │ │ ├── cardinality: [0 - 1]
277
- │ │ │ ├── key: ()
278
- │ │ │ ├── fd: ()-->(23 )
279
- │ │ │ ├── prune: (23 )
280
- │ │ │ ├ ── top-k
281
- │ │ │ │ ├ ── columns: t2.a:11(int!null) t2.b:12(int!null) t2.c:13(int!null) t3.a:16(int!null) t3.b:17(int!null) t3.c:18(int!null)
282
- │ │ │ │ ├── internal-ordering: +(12|17)
283
- │ │ │ │ ├── k: 1
284
- │ │ │ │ ├ ── cardinality: [0 - 1 ]
285
- │ │ │ │ ├── key: ()
286
- │ │ │ │ ├── fd: ()-->(11-13,16-18), (11)==(16), (16)==(11), (13)==(18), (18)==(13), (12)==(17), (17)==(12 )
287
- │ │ │ │ ├── interesting orderings: ( +(12|17) )
288
- │ │ │ │ └ ── inner-join (cross)
289
- │ │ │ │ ├── columns: t2.a:11(int!null) t2.b:12(int!null) t2.c:13(int!null) t3.a:16(int!null) t3.b:17(int!null) t3.c:18(int!null)
290
- │ │ │ │ ├── fd : (11)-->(12,13), (16)-->(17,18), (11)==(16), (16)==(11), (13)==(18), (18)==(13), (12)==(17), (17)==(12 )
291
- │ │ │ │ ├── interesting orderings : (+11) (+16 )
292
- │ │ │ │ ├── scan t65038
293
- │ │ │ │ │ └── unfiltered-cols: (6-10 )
294
- │ │ │ │ ├── inner-join (merge )
295
- │ │ │ │ │ ├── columns: t2.a:11(int!null) t2.b:12(int!null) t2.c:13(int!null) t3.a:16(int!null) t3.b:17(int!null) t3.c:18(int!null )
296
- │ │ │ │ │ ├── left ordering: +11,+12,+13
297
- │ │ │ │ │ ├── right ordering: +16,+17,+18
298
- │ │ │ │ │ ├ ── key : (16 )
299
- │ │ │ │ │ ├── fd: (11)-->(12,13), (16)-->(17,18), (11)==(16), (16)==(11), (13)==(18), (18)==(13), (12)==(17), (17)==(12 )
300
- │ │ │ │ │ ├── interesting orderings: (+11) (+16 )
301
- │ │ │ │ │ ├── scan t65038 [as=t2]
302
- │ │ │ │ │ │ ├── columns: t2.a:11(int!null) t2.b:12(int) t2.c:13(int)
303
- │ │ │ │ │ │ ├── key: (11 )
304
- │ │ │ │ │ │ ├── fd: (11)-->(12,13)
305
- │ │ │ │ │ │ ├── ordering: +11
306
- │ │ │ │ │ │ ├── prune: (11-13)
307
- │ │ │ │ │ │ ├── interesting orderings: (+11 )
308
- │ │ │ │ │ │ └ ── unfiltered-cols : (11-15 )
309
- │ │ │ │ │ ├── scan t65038 [as=t3]
310
- │ │ │ │ │ │ ├── columns: t3.a:16(int!null) t3.b:17(int) t3.c:18(int)
311
- │ │ │ │ │ │ ├── key : (16 )
312
- │ │ │ │ │ │ ├── fd : (16)-->(17,18 )
313
- │ │ │ │ │ │ ├ ── ordering: +16
314
- │ │ │ │ │ │ ├── prune: (16-18)
315
- │ │ │ │ │ │ ├── interesting orderings: (+16 )
316
- │ │ │ │ │ │ └ ── unfiltered-cols : (16-20 )
317
- │ │ │ │ │ └ ── filters (true )
318
- │ │ │ │ └ ── filters (true)
319
- │ │ │ └ ── projections
320
- │ │ │ └ ── true [as=column23:23, type=bool]
321
- │ │ └── false [type=bool]
322
- │ └── eq [type=bool, outer=(2), constraints=(/2: [/1 - /1]; tight), fd=()-->(2)]
323
- │ ├ ── variable: t1.b:2 [type=int]
324
- │ └── const: 1 [type=int]
325
- └── projections
326
- └── const: 1 [as="?column?":24 , type=int]
253
+ ├── fd: ()-->(23 )
254
+ ├── ordering: +1 opt(23 ) [actual: +1]
255
+ ├── prune: (1,23 )
256
+ ├── interesting orderings: (+1 opt(23 ))
257
+ └ ── project
258
+ ├── columns: "?column?":23 (int!null) t1.a:1 (int!null)
259
+ ├── key: (1)
260
+ ├── fd: ()-->(23 )
261
+ ├── prune: (1,23)
262
+ ├── interesting orderings : (+1 opt(23) )
263
+ ├── semi-join (cross )
264
+ │ ├── columns: t1.a:1(int!null) t1.b:2(int!null)
265
+ │ ├── key: (1 )
266
+ │ ├── fd : ()-->(2 )
267
+ │ ├── prune : (1)
268
+ │ ├── interesting orderings: (+1 opt(2))
269
+ │ ├── select
270
+ │ │ ├ ── columns: t1.a:1(int!null) t1.b:2(int!null )
271
+ │ │ ├ ── key: (1)
272
+ │ │ ├── fd: ()-->(2)
273
+ │ │ ├── prune: (1)
274
+ │ │ ├ ── interesting orderings: (+1 opt(2))
275
+ │ │ ├── scan t65038 [as=t1]
276
+ │ │ │ ├── columns: t1.a:1(int!null) t1.b:2(int)
277
+ │ │ │ ├── key: (1 )
278
+ │ │ │ ├── fd: (1 )-->(2 )
279
+ │ │ │ ├── prune: (1,2 )
280
+ │ │ │ └ ── interesting orderings: (+1)
281
+ │ │ └ ── filters
282
+ │ │ └── eq [type=bool, outer=(2), constraints=(/2: [/1 - /1]; tight), fd=()-->(2)]
283
+ │ │ ├── variable: t1.b:2 [type=int]
284
+ │ │ └ ── const: 1 [type=int ]
285
+ │ ├── top-k
286
+ │ │ ├── columns: t2.a:11(int!null) t2.b:12(int!null) t2.c:13(int!null) t3.a:16(int!null) t3.b:17(int!null) t3.c:18(int!null )
287
+ │ │ ├── internal-ordering: +(12|17)
288
+ │ │ ├ ── k: 1
289
+ │ │ ├── cardinality: [0 - 1]
290
+ │ │ ├── key : ()
291
+ │ │ ├── fd : ()-->(11-13,16-18), (11)==(16), (16)==(11), (13)==(18), (18)==(13), (12)==(17), (17)==(12 )
292
+ │ │ ├── interesting orderings: (+(12|17))
293
+ │ │ └── inner-join (cross )
294
+ │ │ ├── columns: t2.a:11(int!null) t2.b:12(int!null) t2.c:13(int!null) t3.a:16(int!null) t3.b:17(int!null) t3.c:18(int!null )
295
+ │ │ ├── fd: (11)-->(12,13), (16)-->(17,18), (11)==(16), (16)==(11), (13)==(18), (18)==(13), (12)==(17), (17)==(12 )
296
+ │ │ ├── interesting orderings: ( +11) (+16)
297
+ │ │ ├── scan t65038
298
+ │ │ │ └ ── unfiltered-cols : (6-10 )
299
+ │ │ ├── inner-join (merge )
300
+ │ │ │ ├── columns: t2.a:11(int!null) t2.b:12(int!null) t2.c:13(int!null) t3.a:16(int!null) t3.b:17(int!null) t3.c:18(int!null )
301
+ │ │ │ ├── left ordering: +11,+12,+13
302
+ │ │ │ ├── right ordering: +16,+17,+18
303
+ │ │ │ ├── key: (16 )
304
+ │ │ │ ├── fd: (11)-->(12,13), (16)-->(17,18), (11)==(16), (16)==(11), (13)==(18), (18)==(13), (12)==(17), (17)==(12 )
305
+ │ │ │ ├── interesting orderings: ( +11) (+16)
306
+ │ │ │ ├── scan t65038 [as=t2]
307
+ │ │ │ │ ├── columns: t2.a:11(int!null) t2.b:12(int) t2.c:13(int )
308
+ │ │ │ │ ├ ── key : (11)
309
+ │ │ │ │ ├── fd: (11)-->(12,13)
310
+ │ │ │ │ ├── ordering: +11
311
+ │ │ │ │ ├── prune : (11-13 )
312
+ │ │ │ │ ├── interesting orderings : (+11 )
313
+ │ │ │ │ └ ── unfiltered-cols: (11-15)
314
+ │ │ │ ├── scan t65038 [as=t3]
315
+ │ │ │ │ ├── columns: t3.a:16(int!null) t3.b:17(int) t3.c:18(int )
316
+ │ │ │ │ ├ ── key : (16)
317
+ │ │ │ │ ├ ── fd: (16)-->(17,18 )
318
+ │ │ │ │ ├ ── ordering: +16
319
+ │ │ │ │ ├ ── prune: (16-18)
320
+ │ │ │ │ ├ ── interesting orderings: (+16)
321
+ │ │ │ │ └── unfiltered-cols: (16-20)
322
+ │ │ │ └── filters (true)
323
+ │ │ └ ── filters (true)
324
+ │ └── filters (true)
325
+ └── projections
326
+ └── const: 1 [as="?column?":23 , type=int]
327
327
328
328
opt
329
329
SELECT * FROM xyzs ORDER BY y DESC LIMIT 10
0 commit comments