vitess.io/vitess@v0.16.2/go/vt/vtexplain/testdata/multi-output/selectsharded-output.txt (about) 1 ---------------------------------------------------------------------- 2 select * from user /* scatter */ 3 4 1 ks_sharded/-40: select * from `user` limit 10001 /* scatter */ 5 1 ks_sharded/40-80: select * from `user` limit 10001 /* scatter */ 6 1 ks_sharded/80-c0: select * from `user` limit 10001 /* scatter */ 7 1 ks_sharded/c0-: select * from `user` limit 10001 /* scatter */ 8 9 ---------------------------------------------------------------------- 10 select * from user where id = 1 /* equal unique */ 11 12 1 ks_sharded/-40: select * from `user` where id = 1 limit 10001 /* equal unique */ 13 14 ---------------------------------------------------------------------- 15 select * from user where id > 100 /* scatter range */ 16 17 1 ks_sharded/-40: select * from `user` where id > 100 limit 10001 /* scatter range */ 18 1 ks_sharded/40-80: select * from `user` where id > 100 limit 10001 /* scatter range */ 19 1 ks_sharded/80-c0: select * from `user` where id > 100 limit 10001 /* scatter range */ 20 1 ks_sharded/c0-: select * from `user` where id > 100 limit 10001 /* scatter range */ 21 22 ---------------------------------------------------------------------- 23 select * from user where name = 'bob' /* vindex lookup */ 24 25 1 ks_sharded/c0-: select `name`, user_id from name_user_map where `name` in ('bob') limit 10001 /* vindex lookup */ 26 2 ks_sharded/-40: select * from `user` where `name` = 'bob' limit 10001 /* vindex lookup */ 27 28 ---------------------------------------------------------------------- 29 select * from user where name = 'bob' or nickname = 'bob' /* vindex lookup */ 30 31 1 ks_sharded/-40: select * from `user` where `name` = 'bob' or nickname = 'bob' limit 10001 /* vindex lookup */ 32 1 ks_sharded/40-80: select * from `user` where `name` = 'bob' or nickname = 'bob' limit 10001 /* vindex lookup */ 33 1 ks_sharded/80-c0: select * from `user` where `name` = 'bob' or nickname = 'bob' limit 10001 /* vindex lookup */ 34 1 ks_sharded/c0-: select * from `user` where `name` = 'bob' or nickname = 'bob' limit 10001 /* vindex lookup */ 35 36 ---------------------------------------------------------------------- 37 select u.id, u.name, u.nickname, n.info from user u join name_info n on u.name = n.name /* join on varchar */ 38 39 1 ks_sharded/-40: select u.`name`, u.id, u.nickname from `user` as u limit 10001 /* join on varchar */ 40 1 ks_sharded/40-80: select u.`name`, u.id, u.nickname from `user` as u limit 10001 /* join on varchar */ 41 1 ks_sharded/80-c0: select u.`name`, u.id, u.nickname from `user` as u limit 10001 /* join on varchar */ 42 1 ks_sharded/c0-: select u.`name`, u.id, u.nickname from `user` as u limit 10001 /* join on varchar */ 43 2 ks_sharded/80-c0: select n.info from name_info as n where n.`name` = 'name_val_1' limit 10001 /* join on varchar */ 44 3 ks_sharded/80-c0: select n.info from name_info as n where n.`name` = 'name_val_1' limit 10001 /* join on varchar */ 45 4 ks_sharded/80-c0: select n.info from name_info as n where n.`name` = 'name_val_1' limit 10001 /* join on varchar */ 46 5 ks_sharded/80-c0: select n.info from name_info as n where n.`name` = 'name_val_1' limit 10001 /* join on varchar */ 47 48 ---------------------------------------------------------------------- 49 select m.id, m.song, e.extra from music m join music_extra e on m.id = e.id where m.user_id = 100 /* join on int */ 50 51 1 ks_sharded/80-c0: select m.id, m.song from music as m where m.user_id = 100 limit 10001 /* join on int */ 52 2 ks_sharded/-40: select e.extra from music_extra as e where e.id = 1 limit 10001 /* join on int */ 53 54 ---------------------------------------------------------------------- 55 select count(*) from user where id = 1 /* point aggregate */ 56 57 1 ks_sharded/-40: select count(*) from `user` where id = 1 limit 10001 /* point aggregate */ 58 59 ---------------------------------------------------------------------- 60 select count(*) from user where name in ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j') /* scatter aggregate */ 61 62 1 ks_sharded/c0-: select `name`, user_id from name_user_map where `name` in ('a') limit 10001 /* scatter aggregate */ 63 2 ks_sharded/40-80: select `name`, user_id from name_user_map where `name` in ('b') limit 10001 /* scatter aggregate */ 64 3 ks_sharded/40-80: select `name`, user_id from name_user_map where `name` in ('c') limit 10001 /* scatter aggregate */ 65 4 ks_sharded/c0-: select `name`, user_id from name_user_map where `name` in ('d') limit 10001 /* scatter aggregate */ 66 5 ks_sharded/80-c0: select `name`, user_id from name_user_map where `name` in ('e') limit 10001 /* scatter aggregate */ 67 6 ks_sharded/-40: select `name`, user_id from name_user_map where `name` in ('f') limit 10001 /* scatter aggregate */ 68 7 ks_sharded/-40: select `name`, user_id from name_user_map where `name` in ('g') limit 10001 /* scatter aggregate */ 69 8 ks_sharded/40-80: select `name`, user_id from name_user_map where `name` in ('h') limit 10001 /* scatter aggregate */ 70 9 ks_sharded/-40: select `name`, user_id from name_user_map where `name` in ('i') limit 10001 /* scatter aggregate */ 71 10 ks_sharded/-40: select `name`, user_id from name_user_map where `name` in ('j') limit 10001 /* scatter aggregate */ 72 11 ks_sharded/-40: select count(*) from `user` where `name` in ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j') limit 10001 /* scatter aggregate */ 73 74 ---------------------------------------------------------------------- 75 select count(*) from customer where email in ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j') /* scatter aggregate with batching */ 76 77 1 ks_sharded/-40: select email, user_id from email_customer_map where email in ('f', 'g', 'i', 'j') limit 10001 /* scatter aggregate with batching */ 78 1 ks_sharded/40-80: select email, user_id from email_customer_map where email in ('b', 'c', 'h') limit 10001 /* scatter aggregate with batching */ 79 1 ks_sharded/80-c0: select email, user_id from email_customer_map where email in ('e') limit 10001 /* scatter aggregate with batching */ 80 1 ks_sharded/c0-: select email, user_id from email_customer_map where email in ('a', 'd') limit 10001 /* scatter aggregate with batching */ 81 2 ks_sharded/-40: select count(*) from customer where email in ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j') limit 10001 /* scatter aggregate with batching */ 82 83 ---------------------------------------------------------------------- 84 select name, count(*) from user group by name /* scatter aggregate */ 85 86 1 ks_sharded/-40: select `name`, count(*) from `user` group by `name` limit 10001 /* scatter aggregate */ 87 1 ks_sharded/40-80: select `name`, count(*) from `user` group by `name` limit 10001 /* scatter aggregate */ 88 1 ks_sharded/80-c0: select `name`, count(*) from `user` group by `name` limit 10001 /* scatter aggregate */ 89 1 ks_sharded/c0-: select `name`, count(*) from `user` group by `name` limit 10001 /* scatter aggregate */ 90 91 ---------------------------------------------------------------------- 92 select 1, "hello", 3.14, null from user limit 10 /* select constant sql values */ 93 94 1 ks_sharded/-40: select 1, 'hello', 3.14, null from `user` limit 10 /* select constant sql values */ 95 1 ks_sharded/40-80: select 1, 'hello', 3.14, null from `user` limit 10 /* select constant sql values */ 96 1 ks_sharded/80-c0: select 1, 'hello', 3.14, null from `user` limit 10 /* select constant sql values */ 97 1 ks_sharded/c0-: select 1, 'hello', 3.14, null from `user` limit 10 /* select constant sql values */ 98 99 ---------------------------------------------------------------------- 100 select * from (select id from user) s /* scatter paren select */ 101 102 1 ks_sharded/-40: select s.id from (select id from `user`) as s limit 10001 /* scatter paren select */ 103 1 ks_sharded/40-80: select s.id from (select id from `user`) as s limit 10001 /* scatter paren select */ 104 1 ks_sharded/80-c0: select s.id from (select id from `user`) as s limit 10001 /* scatter paren select */ 105 1 ks_sharded/c0-: select s.id from (select id from `user`) as s limit 10001 /* scatter paren select */ 106 107 ---------------------------------------------------------------------- 108 select name from user where id = (select id from t1) /* non-correlated subquery as value */ 109 110 1 ks_unsharded/-: select id from t1 limit 10001 /* non-correlated subquery as value */ 111 2 ks_sharded/-40: select `name` from `user` where id = 1 limit 10001 /* non-correlated subquery as value */ 112 113 ---------------------------------------------------------------------- 114 select name from user where id in (select id from t1) /* non-correlated subquery in IN clause */ 115 116 1 ks_unsharded/-: select id from t1 limit 10001 /* non-correlated subquery in IN clause */ 117 2 ks_sharded/-40: select `name` from `user` where 1 = 1 and id in (1) limit 10001 /* non-correlated subquery in IN clause */ 118 119 ---------------------------------------------------------------------- 120 select name from user where id not in (select id from t1) /* non-correlated subquery in NOT IN clause */ 121 122 1 ks_unsharded/-: select id from t1 limit 10001 /* non-correlated subquery in NOT IN clause */ 123 2 ks_sharded/-40: select `name` from `user` where 1 = 0 or id not in (1) limit 10001 /* non-correlated subquery in NOT IN clause */ 124 2 ks_sharded/40-80: select `name` from `user` where 1 = 0 or id not in (1) limit 10001 /* non-correlated subquery in NOT IN clause */ 125 2 ks_sharded/80-c0: select `name` from `user` where 1 = 0 or id not in (1) limit 10001 /* non-correlated subquery in NOT IN clause */ 126 2 ks_sharded/c0-: select `name` from `user` where 1 = 0 or id not in (1) limit 10001 /* non-correlated subquery in NOT IN clause */ 127 128 ---------------------------------------------------------------------- 129 select name from user where exists (select id from t1) /* non-correlated subquery as EXISTS */ 130 131 1 ks_unsharded/-: select 1 from t1 limit 1 /* non-correlated subquery as EXISTS */ 132 2 ks_sharded/-40: select `name` from `user` where 1 limit 10001 /* non-correlated subquery as EXISTS */ 133 2 ks_sharded/40-80: select `name` from `user` where 1 limit 10001 /* non-correlated subquery as EXISTS */ 134 2 ks_sharded/80-c0: select `name` from `user` where 1 limit 10001 /* non-correlated subquery as EXISTS */ 135 2 ks_sharded/c0-: select `name` from `user` where 1 limit 10001 /* non-correlated subquery as EXISTS */ 136 137 ---------------------------------------------------------------------- 138 select * from name_info order by info /* select * and order by varchar column */ 139 140 1 ks_sharded/-40: select `name`, info, weight_string(info) from name_info order by info asc limit 10001 /* select * and order by varchar column */ 141 1 ks_sharded/40-80: select `name`, info, weight_string(info) from name_info order by info asc limit 10001 /* select * and order by varchar column */ 142 1 ks_sharded/80-c0: select `name`, info, weight_string(info) from name_info order by info asc limit 10001 /* select * and order by varchar column */ 143 1 ks_sharded/c0-: select `name`, info, weight_string(info) from name_info order by info asc limit 10001 /* select * and order by varchar column */ 144 145 ---------------------------------------------------------------------- 146 select distinct(name) from user where id = 1 /* select distinct */ 147 148 1 ks_sharded/-40: select distinct `name` from `user` where id = 1 limit 10001 /* select distinct */ 149 150 ---------------------------------------------------------------------- 151 select distinct name from user where id = 1 /* select distinct */ 152 153 1 ks_sharded/-40: select distinct `name` from `user` where id = 1 limit 10001 /* select distinct */ 154 155 ---------------------------------------------------------------------- 156 select id, substring(name, 1, -1) from user where id = 123 /* select substring */ 157 158 1 ks_sharded/-40: select id, substr(`name`, 1, -1) from `user` where id = 123 limit 10001 /* select substring */ 159 160 ---------------------------------------------------------------------- 161 select id, substring_index(name, '123456', -1) from user where id = 123 /* select substring_index */ 162 163 1 ks_sharded/-40: select id, substring_index(`name`, '123456', -1) from `user` where id = 123 limit 10001 /* select substring_index */ 164 165 ---------------------------------------------------------------------- 166 select id, case when name = 'alice' then 'ALICE' when name = 'bob' then 'BOB' end as name from user where id = 1 /* select case */ 167 168 1 ks_sharded/-40: select id, case when `name` = 'alice' then 'ALICE' when `name` = 'bob' then 'BOB' end as `name` from `user` where id = 1 limit 10001 /* select case */ 169 170 ---------------------------------------------------------------------- 171 select id, case when name = 'alice' then 'ALICE' when name = 'bob' then 'BOB' else 'OTHER' end as name from user where id = 1 /* select case */ 172 173 1 ks_sharded/-40: select id, case when `name` = 'alice' then 'ALICE' when `name` = 'bob' then 'BOB' else 'OTHER' end as `name` from `user` where id = 1 limit 10001 /* select case */ 174 175 ---------------------------------------------------------------------- 176 select id, case when substr(name, 1, 5) = 'alice' then 'ALICE' when name = 'bob' then 'BOB' else 'OTHER' end as name from user where id = 1 /* select case */ 177 178 1 ks_sharded/-40: select id, case when substr(`name`, 1, 5) = 'alice' then 'ALICE' when `name` = 'bob' then 'BOB' else 'OTHER' end as `name` from `user` where id = 1 limit 10001 /* select case */ 179 180 ---------------------------------------------------------------------- 181 select id, 'abc' as test from user where id = 1 union all select id, 'def' as test from user where id = 1 union all select id, 'ghi' as test from user where id = 1 /* union all */ 182 183 1 ks_sharded/-40: select id, 'abc' as test from `user` where id = 1 union all select id, 'def' as test from `user` where id = 1 union all select id, 'ghi' as test from `user` where id = 1 limit 10001 /* union all */ 184 185 ---------------------------------------------------------------------- 186 select id from user where not id in (select col from music where music.user_id = 42) and id in (select col from music where music.user_id = 411) 187 188 1 ks_sharded/40-80: select col from music where music.user_id = 411 limit 10001 189 2 ks_sharded/40-80: select col from music where music.user_id = 42 limit 10001 190 191 ---------------------------------------------------------------------- 192 SELECT user.id, user.name, name_info.info FROM user INNER JOIN music ON (user.id = music.user_id) LEFT OUTER JOIN name_info ON (user.name = name_info.name) 193 194 1 ks_sharded/-40: select `user`.`name`, `user`.id from `user`, music where `user`.id = music.user_id limit 10001 195 1 ks_sharded/40-80: select `user`.`name`, `user`.id from `user`, music where `user`.id = music.user_id limit 10001 196 1 ks_sharded/80-c0: select `user`.`name`, `user`.id from `user`, music where `user`.id = music.user_id limit 10001 197 1 ks_sharded/c0-: select `user`.`name`, `user`.id from `user`, music where `user`.id = music.user_id limit 10001 198 2 ks_sharded/80-c0: select name_info.info from name_info where name_info.`name` = 'name_val_1' limit 10001 199 3 ks_sharded/80-c0: select name_info.info from name_info where name_info.`name` = 'name_val_1' limit 10001 200 4 ks_sharded/80-c0: select name_info.info from name_info where name_info.`name` = 'name_val_1' limit 10001 201 5 ks_sharded/80-c0: select name_info.info from name_info where name_info.`name` = 'name_val_1' limit 10001 202 203 ---------------------------------------------------------------------- 204 SELECT id FROM orders WHERE id IN (1, "1", 1) 205 206 1 ks_sharded/-40: select id, keyspace_id from orders_id_lookup where id in (1, '1', 1) limit 10001 207 2 ks_sharded/40-80: select id from orders where id in (1, '1', 1) limit 10001 208 209 ----------------------------------------------------------------------