1DROP TABLE IF EXISTS t1; 2CREATE TABLE t1 3( 4key1 INT NOT NULL, 5key2 INT NOT NULL, 6key3 INT NOT NULL, 7key4 INT NOT NULL, 8key5 INT, 9key6 INT, 10key7 INT NOT NULL, 11key8 INT NOT NULL, 12INDEX i1(key1), 13INDEX i2(key2), 14INDEX i3(key3), 15INDEX i4(key4), 16INDEX i5(key5), 17INDEX i6(key6) 18); 19ANALYZE TABLE t1; 20Table Op Msg_type Msg_text 21test.t1 analyze status OK 22DROP TABLE IF EXISTS t2; 23CREATE TABLE t2 LIKE t1; 24INSERT INTO t2 SELECT * FROM t1; 25ANALYZE TABLE t2; 26Table Op Msg_type Msg_text 27test.t2 analyze status Table is already up to date 28EXPLAIN UPDATE t1 SET key6=7 WHERE key1=80 OR key4=49; 29id select_type table type possible_keys key key_len ref rows Extra 301 SIMPLE t1 index_merge i1,i4 i1,i4 4,4 NULL # Using union(i1,i4); Using where 31SELECT COUNT(*), SUM(key6) FROM t1 WHERE key1=80 OR key4=49; 32COUNT(*) SUM(key6) 333 129 34UPDATE t1 SET key6=7 WHERE key1=80 OR key4=49; 35SELECT COUNT(*), SUM(key6) FROM t1 WHERE key1=80 OR key4=49; 36COUNT(*) SUM(key6) 373 21 38EXPLAIN UPDATE t1 SET key1=18 WHERE (key3=80 AND key5 IS NULL) OR (key2=49 AND key6 IS NULL); 39id select_type table type possible_keys key key_len ref rows Extra 401 SIMPLE t1 index_merge i2,i3,i5,i6 i3,i5,i2 4,5,4 NULL # Using union(intersect(i3,i5),i2); Using where 41SELECT COUNT(*), SUM(key1) FROM t1 WHERE (key3=80 AND key5 IS NULL) OR (key2=49 AND key6 IS NULL); 42COUNT(*) SUM(key1) 431 80 44UPDATE t1 SET key1=18 WHERE (key3=80 AND key5 IS NULL) OR (key2=49 AND key6 IS NULL); 45SELECT COUNT(*), SUM(key1) FROM t1 WHERE (key3=80 AND key5 IS NULL) OR (key2=49 AND key6 IS NULL); 46COUNT(*) SUM(key1) 471 18 48EXPLAIN UPDATE t1 SET key3=18 WHERE (key4=42 AND key6 IS NOT NULL) OR (key1>4 AND key5 IS NULL) AND key2<>50; 49id select_type table type possible_keys key key_len ref rows Extra 501 SIMPLE t1 index_merge i1,i2,i4,i5,i6 i4,i5 4,5 NULL # Using union(i4,i5); Using where 51SELECT COUNT(*), SUM(key3) FROM t1 WHERE (key4=42 AND key6 IS NOT NULL) OR (key1>4 AND key5 IS NULL) AND key2<>50; 52COUNT(*) SUM(key3) 5310 287 54UPDATE t1 SET key3=18 WHERE (key4=42 AND key6 IS NOT NULL) OR (key1>4 AND key5 IS NULL) AND key2<>50; 55SELECT COUNT(*), SUM(key3) FROM t1 WHERE (key4=42 AND key6 IS NOT NULL) OR (key1>4 AND key5 IS NULL) AND key2<>50; 56COUNT(*) SUM(key3) 5710 180 58EXPLAIN UPDATE t1 SET key8=64 WHERE key2=80 OR key3=1025 OR key4 <=> NULL; 59id select_type table type possible_keys key key_len ref rows Extra 601 SIMPLE t1 index_merge i2,i3 i2,i3 4,4 NULL # Using union(i2,i3); Using where 61SELECT COUNT(*), SUM(key8) FROM t1 WHERE key2=80 OR key3=1025 OR key4 <=> NULL; 62COUNT(*) SUM(key8) 633 1185 64UPDATE t1 SET key8=64 WHERE key2=80 OR key3=1025 OR key4 <=> NULL; 65SELECT COUNT(*), SUM(key8) FROM t1 WHERE key2=80 OR key3=1025 OR key4 <=> NULL; 66COUNT(*) SUM(key8) 673 192 68EXPLAIN UPDATE t1 SET key8=18 WHERE (key1 < 3 OR key2 < 2) AND (key3 < 3 OR key4 < 3) AND (key5 < 2 OR key6 < 2); 69id select_type table type possible_keys key key_len ref rows Extra 701 SIMPLE t1 index_merge i1,i2,i3,i4,i5,i6 i5,i6 5,5 NULL # Using sort_union(i5,i6); Using where 71SELECT COUNT(*), SUM(key8) FROM t1 WHERE (key1 < 3 OR key2 < 2) AND (key3 < 3 OR key4 < 3) AND (key5 < 2 OR key6 < 2); 72COUNT(*) SUM(key8) 731 1 74UPDATE t1 SET key8=18 WHERE (key1 < 3 OR key2 < 2) AND (key3 < 3 OR key4 < 3) AND (key5 < 2 OR key6 < 2); 75SELECT COUNT(*), SUM(key8) FROM t1 WHERE (key1 < 3 OR key2 < 2) AND (key3 < 3 OR key4 < 3) AND (key5 < 2 OR key6 < 2); 76COUNT(*) SUM(key8) 771 18 78EXPLAIN UPDATE t1 SET key3=32 WHERE key1 between 25 AND 40 OR key2 between 15 AND 49; 79id select_type table type possible_keys key key_len ref rows Extra 801 SIMPLE t1 index_merge i1,i2 i1,i2 4,4 NULL # Using sort_union(i1,i2); Using where 81SELECT COUNT(*), SUM(key3) FROM t1 WHERE key1 between 25 AND 40 OR key2 between 15 AND 49; 82COUNT(*) SUM(key3) 8339 1168 84UPDATE t1 SET key3=32 WHERE key1 between 25 AND 40 OR key2 between 15 AND 49; 85SELECT COUNT(*), SUM(key3) FROM t1 WHERE key1 between 25 AND 40 OR key2 between 15 AND 49; 86COUNT(*) SUM(key3) 8739 1248 88EXPLAIN UPDATE t1 SET key7=25 WHERE key1 IN (15,70) OR key2 IN (15,70); 89id select_type table type possible_keys key key_len ref rows Extra 901 SIMPLE t1 index_merge i1,i2 i1,i2 4,4 NULL # Using sort_union(i1,i2); Using where 91SELECT COUNT(*), SUM(key7) FROM t1 WHERE key1 IN (15,70) OR key2 IN (15,70); 92COUNT(*) SUM(key7) 932 85 94UPDATE t1 SET key7=25 WHERE key1 IN (15,70) OR key2 IN (15,70); 95SELECT COUNT(*), SUM(key7) FROM t1 WHERE key1 IN (15,70) OR key2 IN (15,70); 96COUNT(*) SUM(key7) 972 50 98EXPLAIN UPDATE t1 SET key1=10 WHERE key5<5 OR key8<10 ORDER BY key1; 99id select_type table type possible_keys key key_len ref rows Extra 1001 SIMPLE t1 ALL NULL NULL NULL NULL # Using where; Using filesort 101SELECT COUNT(*), SUM(key1) FROM t1 WHERE key5<5 OR key8<10 ORDER BY key1; 102COUNT(*) SUM(key1) 10311 56 104UPDATE t1 SET key1=10 WHERE key5<5 OR key8<10 ORDER BY key1; 105SELECT COUNT(*), SUM(key1) FROM t1 WHERE key5<5 OR key8<10 ORDER BY key1; 106COUNT(*) SUM(key1) 10711 110 108EXPLAIN UPDATE t1 left join t2 ON (t2.key1=t2.key1) SET t1.key4=15 WHERE t1.key5=40 OR t1.key4=15; 109id select_type table type possible_keys key key_len ref rows Extra 1101 SIMPLE t1 index_merge i4,i5 i5,i4 5,4 NULL # Using union(i5,i4); Using where 1111 SIMPLE t2 index NULL i1 4 NULL # Using where; Using index; Using join buffer (Block Nested Loop) 112SELECT COUNT(*), SUM(key4) FROM t1; 113COUNT(*) SUM(key4) 1142057 2098421 115UPDATE t1 left join t2 ON (t2.key1=t2.key1) SET t1.key4=15 WHERE t1.key5=40 OR t1.key4=15; 116SELECT COUNT(*), SUM(key4) FROM t1; 117COUNT(*) SUM(key4) 1182057 2098396 119EXPLAIN UPDATE t2 SET key7=7 WHERE (key3=28 OR key4=10) AND key6 < ANY (SELECT key6 FROM t1 WHERE key1=10 OR key5=3); 120id select_type table type possible_keys key key_len ref rows Extra 1211 PRIMARY t2 index_merge i3,i4 i3,i4 4,4 NULL # Using union(i3,i4); Using where 1222 SUBQUERY t1 index_merge i1,i5 i1,i5 4,5 NULL # Using union(i1,i5); Using where 123SELECT COUNT(*), SUM(key7) FROM t2 WHERE (key3=28 OR key4=10) AND key6 < ANY (SELECT key6 FROM t1 WHERE key1=10 OR key5=3); 124COUNT(*) SUM(key7) 1250 NULL 126UPDATE t2 SET key7=7 WHERE (key3=28 OR key4=10) AND key6 < ANY (SELECT key6 FROM t1 WHERE key1=10 OR key5=3); 127SELECT COUNT(*), SUM(key7) FROM t2 WHERE (key3=28 OR key4=10) AND key6 < ANY (SELECT key6 FROM t1 WHERE key1=10 OR key5=3); 128COUNT(*) SUM(key7) 1290 NULL 130EXPLAIN UPDATE t2 SET key2=2 WHERE key1=25 OR key4=40 AND (key4 < SOME (SELECT key4 FROM t1 WHERE key1<5 OR key4<8) OR key1 < ANY (SELECT key1 FROM t1 WHERE key1<5 OR key4<7)); 131id select_type table type possible_keys key key_len ref rows Extra 1321 PRIMARY t2 index_merge i1,i4 i1,i4 4,4 NULL # Using union(i1,i4); Using where 1333 SUBQUERY t1 index_merge i1,i4 i1,i4 4,4 NULL # Using sort_union(i1,i4); Using where 1342 SUBQUERY t1 index_merge i1,i4 i1,i4 4,4 NULL # Using sort_union(i1,i4); Using where 135SELECT COUNT(*), SUM(key2) FROM t2 WHERE key1=25 OR key4=40 AND (key4 < SOME (SELECT key4 FROM t1 WHERE key1<5 OR key4<8) OR key1 < ANY (SELECT key1 FROM t1 WHERE key1<5 OR key4<7)); 136COUNT(*) SUM(key2) 1371 25 138UPDATE t2 SET key2=2 WHERE key1=25 OR key4=40 AND (key4 < SOME (SELECT key4 FROM t1 WHERE key1<5 OR key4<8) OR key1 < ANY (SELECT key1 FROM t1 WHERE key1<5 OR key4<7)); 139SELECT COUNT(*), SUM(key2) FROM t2 WHERE key1=25 OR key4=40 AND (key4 < SOME (SELECT key4 FROM t1 WHERE key1<5 OR key4<8) OR key1 < ANY (SELECT key1 FROM t1 WHERE key1<5 OR key4<7)); 140COUNT(*) SUM(key2) 1411 2 142EXPLAIN UPDATE t2 SET key3=20 WHERE EXISTS (SELECT * FROM t1 WHERE key6<3 OR key4<10); 143id select_type table type possible_keys key key_len ref rows Extra 1441 PRIMARY t2 ALL NULL NULL NULL NULL # NULL 1452 SUBQUERY t1 index_merge i4,i6 i6,i4 5,4 NULL # Using sort_union(i6,i4); Using where 146SELECT COUNT(*), SUM(key3) FROM t2 WHERE EXISTS (SELECT * FROM t1 WHERE key6<3 OR key4<10); 147COUNT(*) SUM(key3) 1482057 2098421 149UPDATE t2 SET key3=20 WHERE EXISTS (SELECT * FROM t1 WHERE key6<3 OR key4<10); 150SELECT COUNT(*), SUM(key3) FROM t2 WHERE EXISTS (SELECT * FROM t1 WHERE key6<3 OR key4<10); 151COUNT(*) SUM(key3) 1522057 41140 153EXPLAIN UPDATE t1 SET key8=50 WHERE key5=80 OR key6=49; 154id select_type table type possible_keys key key_len ref rows Extra 1551 SIMPLE t1 index_merge i5,i6 i5,i6 5,5 NULL # Using union(i5,i6); Using where 156SELECT COUNT(*), SUM(key8) FROM t1 WHERE key5=80 OR key6=49; 157COUNT(*) SUM(key8) 1581 64 159UPDATE t1 SET key8=50 WHERE key5=80 OR key6=49; 160SELECT COUNT(*), SUM(key8) FROM t1 WHERE key5=80 OR key6=49; 161COUNT(*) SUM(key8) 1621 50 163DROP TABLE IF EXISTS t1; 164CREATE TABLE t1 165( 166key1 INT NOT NULL, 167key2 INT NOT NULL, 168key3 INT NOT NULL, 169key4 INT NOT NULL, 170key5 INT, 171key6 INT, 172key7 INT NOT NULL, 173key8 INT NOT NULL, 174INDEX i1(key1,key2), 175INDEX i2(key2,key1), 176INDEX i3(key3,key4), 177INDEX i4(key4,key3), 178INDEX i5(key5,key6), 179INDEX i6(key6,key5), 180INDEX i7(key7,key8), 181INDEX i8(key8,key7) 182); 183ANALYZE TABLE t1; 184Table Op Msg_type Msg_text 185test.t1 analyze status OK 186DROP TABLE IF EXISTS t2; 187CREATE TABLE t2 LIKE t1; 188INSERT INTO t2 SELECT * FROM t1; 189ANALYZE TABLE t2; 190Table Op Msg_type Msg_text 191test.t2 analyze status Table is already up to date 192EXPLAIN UPDATE t1 SET key6=7 WHERE key1=80 OR key4=49; 193id select_type table type possible_keys key key_len ref rows Extra 1941 SIMPLE t1 index_merge i1,i4 i1,i4 4,4 NULL # Using sort_union(i1,i4); Using where 195SELECT COUNT(*), SUM(key6) FROM t1 WHERE key1=80 OR key4=49; 196COUNT(*) SUM(key6) 1973 129 198UPDATE t1 SET key6=7 WHERE key1=80 OR key4=49; 199SELECT COUNT(*), SUM(key6) FROM t1 WHERE key1=80 OR key4=49; 200COUNT(*) SUM(key6) 2013 21 202EXPLAIN UPDATE t1 SET key1=18 WHERE (key3=80 AND key5 IS NULL) OR (key2=49 AND key6 IS NULL); 203id select_type table type possible_keys key key_len ref rows Extra 2041 SIMPLE t1 index_merge i2,i3,i5,i6 i3,i2 4,4 NULL # Using sort_union(i3,i2); Using where; Using temporary 205SELECT COUNT(*), SUM(key1) FROM t1 WHERE (key3=80 AND key5 IS NULL) OR (key2=49 AND key6 IS NULL); 206COUNT(*) SUM(key1) 2071 80 208UPDATE t1 SET key1=18 WHERE (key3=80 AND key5 IS NULL) OR (key2=49 AND key6 IS NULL); 209SELECT COUNT(*), SUM(key1) FROM t1 WHERE (key3=80 AND key5 IS NULL) OR (key2=49 AND key6 IS NULL); 210COUNT(*) SUM(key1) 2111 18 212EXPLAIN UPDATE t1 SET key3=18 WHERE (key4=42 AND key6 IS NOT NULL) OR (key1>4 AND key5 IS NULL) AND key2<>50; 213id select_type table type possible_keys key key_len ref rows Extra 2141 SIMPLE t1 index_merge i1,i2,i4,i5,i6 i4,i5 4,5 NULL # Using sort_union(i4,i5); Using where; Using temporary 215SELECT COUNT(*), SUM(key3) FROM t1 WHERE (key4=42 AND key6 IS NOT NULL) OR (key1>4 AND key5 IS NULL) AND key2<>50; 216COUNT(*) SUM(key3) 21710 287 218UPDATE t1 SET key3=18 WHERE (key4=42 AND key6 IS NOT NULL) OR (key1>4 AND key5 IS NULL) AND key2<>50; 219SELECT COUNT(*), SUM(key3) FROM t1 WHERE (key4=42 AND key6 IS NOT NULL) OR (key1>4 AND key5 IS NULL) AND key2<>50; 220COUNT(*) SUM(key3) 22110 180 222EXPLAIN UPDATE t1 SET key8=64 WHERE key2=80 OR key3=1025 OR key4 <=> NULL; 223id select_type table type possible_keys key key_len ref rows Extra 2241 SIMPLE t1 index_merge i2,i3 i2,i3 4,4 NULL # Using sort_union(i2,i3); Using where 225SELECT COUNT(*), SUM(key8) FROM t1 WHERE key2=80 OR key3=1025 OR key4 <=> NULL; 226COUNT(*) SUM(key8) 2273 1185 228UPDATE t1 SET key8=64 WHERE key2=80 OR key3=1025 OR key4 <=> NULL; 229SELECT COUNT(*), SUM(key8) FROM t1 WHERE key2=80 OR key3=1025 OR key4 <=> NULL; 230COUNT(*) SUM(key8) 2313 192 232EXPLAIN UPDATE t1 SET key8=18 WHERE (key1 < 3 OR key2 < 2) AND (key3 < 3 OR key4 < 3) AND (key5 < 2 OR key6 < 2); 233id select_type table type possible_keys key key_len ref rows Extra 2341 SIMPLE t1 index_merge i1,i2,i3,i4,i5,i6 i5,i6 5,5 NULL # Using sort_union(i5,i6); Using where 235SELECT COUNT(*), SUM(key8) FROM t1 WHERE (key1 < 3 OR key2 < 2) AND (key3 < 3 OR key4 < 3) AND (key5 < 2 OR key6 < 2); 236COUNT(*) SUM(key8) 2371 1 238UPDATE t1 SET key8=18 WHERE (key1 < 3 OR key2 < 2) AND (key3 < 3 OR key4 < 3) AND (key5 < 2 OR key6 < 2); 239SELECT COUNT(*), SUM(key8) FROM t1 WHERE (key1 < 3 OR key2 < 2) AND (key3 < 3 OR key4 < 3) AND (key5 < 2 OR key6 < 2); 240COUNT(*) SUM(key8) 2411 18 242EXPLAIN UPDATE t1 SET key3=32 WHERE key1 between 25 AND 40 OR key2 between 15 AND 49; 243id select_type table type possible_keys key key_len ref rows Extra 2441 SIMPLE t1 index_merge i1,i2 i1,i2 4,4 NULL # Using sort_union(i1,i2); Using where 245SELECT COUNT(*), SUM(key3) FROM t1 WHERE key1 between 25 AND 40 OR key2 between 15 AND 49; 246COUNT(*) SUM(key3) 24739 1168 248UPDATE t1 SET key3=32 WHERE key1 between 25 AND 40 OR key2 between 15 AND 49; 249SELECT COUNT(*), SUM(key3) FROM t1 WHERE key1 between 25 AND 40 OR key2 between 15 AND 49; 250COUNT(*) SUM(key3) 25139 1248 252EXPLAIN UPDATE t1 SET key7=25 WHERE key1 IN (15,70) OR key2 IN (15,70); 253id select_type table type possible_keys key key_len ref rows Extra 2541 SIMPLE t1 index_merge i1,i2 i1,i2 4,4 NULL # Using sort_union(i1,i2); Using where 255SELECT COUNT(*), SUM(key7) FROM t1 WHERE key1 IN (15,70) OR key2 IN (15,70); 256COUNT(*) SUM(key7) 2572 85 258UPDATE t1 SET key7=25 WHERE key1 IN (15,70) OR key2 IN (15,70); 259SELECT COUNT(*), SUM(key7) FROM t1 WHERE key1 IN (15,70) OR key2 IN (15,70); 260COUNT(*) SUM(key7) 2612 50 262EXPLAIN UPDATE t1 SET key1=10 WHERE key5<5 OR key8<10 ORDER BY key1; 263id select_type table type possible_keys key key_len ref rows Extra 2641 SIMPLE t1 index_merge i5,i8 i5,i8 5,4 NULL # Using sort_union(i5,i8); Using where; Using filesort 265SELECT COUNT(*), SUM(key1) FROM t1 WHERE key5<5 OR key8<10 ORDER BY key1; 266COUNT(*) SUM(key1) 26711 56 268UPDATE t1 SET key1=10 WHERE key5<5 OR key8<10 ORDER BY key1; 269SELECT COUNT(*), SUM(key1) FROM t1 WHERE key5<5 OR key8<10 ORDER BY key1; 270COUNT(*) SUM(key1) 27111 110 272EXPLAIN UPDATE t1 left join t2 ON (t2.key1=t2.key1) SET t1.key4=15 WHERE t1.key5=40 OR t1.key4=15; 273id select_type table type possible_keys key key_len ref rows Extra 2741 SIMPLE t1 index_merge i4,i5 i5,i4 5,4 NULL # Using sort_union(i5,i4); Using where 2751 SIMPLE t2 index NULL i1 8 NULL # Using where; Using index; Using join buffer (Block Nested Loop) 276SELECT COUNT(*), SUM(key4) FROM t1; 277COUNT(*) SUM(key4) 2782057 2098421 279UPDATE t1 left join t2 ON (t2.key1=t2.key1) SET t1.key4=15 WHERE t1.key5=40 OR t1.key4=15; 280SELECT COUNT(*), SUM(key4) FROM t1; 281COUNT(*) SUM(key4) 2822057 2098396 283EXPLAIN UPDATE t2 SET key7=7 WHERE (key3=28 OR key4=10) AND key6 < ANY (SELECT key6 FROM t1 WHERE key1=10 OR key5=3); 284id select_type table type possible_keys key key_len ref rows Extra 2851 PRIMARY t2 index_merge i3,i4 i3,i4 4,4 NULL # Using sort_union(i3,i4); Using where 2862 SUBQUERY t1 index_merge i1,i5 i1,i5 4,5 NULL # Using sort_union(i1,i5); Using where 287SELECT COUNT(*), SUM(key7) FROM t2 WHERE (key3=28 OR key4=10) AND key6 < ANY (SELECT key6 FROM t1 WHERE key1=10 OR key5=3); 288COUNT(*) SUM(key7) 2890 NULL 290UPDATE t2 SET key7=7 WHERE (key3=28 OR key4=10) AND key6 < ANY (SELECT key6 FROM t1 WHERE key1=10 OR key5=3); 291SELECT COUNT(*), SUM(key7) FROM t2 WHERE (key3=28 OR key4=10) AND key6 < ANY (SELECT key6 FROM t1 WHERE key1=10 OR key5=3); 292COUNT(*) SUM(key7) 2930 NULL 294EXPLAIN UPDATE t2 SET key2=2 WHERE key1=25 OR key4=40 AND (key4 < SOME (SELECT key4 FROM t1 WHERE key1<5 OR key4<8) OR key1 < ANY (SELECT key1 FROM t1 WHERE key1<5 OR key4<7)); 295id select_type table type possible_keys key key_len ref rows Extra 2961 PRIMARY t2 index_merge i1,i4 i1,i4 4,4 NULL # Using sort_union(i1,i4); Using where; Using temporary 2973 SUBQUERY t1 index_merge i1,i4 i1,i4 4,4 NULL # Using sort_union(i1,i4); Using where 2982 SUBQUERY t1 index_merge i1,i4 i1,i4 4,4 NULL # Using sort_union(i1,i4); Using where 299SELECT COUNT(*), SUM(key2) FROM t2 WHERE key1=25 OR key4=40 AND (key4 < SOME (SELECT key4 FROM t1 WHERE key1<5 OR key4<8) OR key1 < ANY (SELECT key1 FROM t1 WHERE key1<5 OR key4<7)); 300COUNT(*) SUM(key2) 3011 25 302UPDATE t2 SET key2=2 WHERE key1=25 OR key4=40 AND (key4 < SOME (SELECT key4 FROM t1 WHERE key1<5 OR key4<8) OR key1 < ANY (SELECT key1 FROM t1 WHERE key1<5 OR key4<7)); 303SELECT COUNT(*), SUM(key2) FROM t2 WHERE key1=25 OR key4=40 AND (key4 < SOME (SELECT key4 FROM t1 WHERE key1<5 OR key4<8) OR key1 < ANY (SELECT key1 FROM t1 WHERE key1<5 OR key4<7)); 304COUNT(*) SUM(key2) 3051 2 306EXPLAIN UPDATE t2 SET key3=20 WHERE EXISTS (SELECT * FROM t1 WHERE key6<3 OR key4<10); 307id select_type table type possible_keys key key_len ref rows Extra 3081 PRIMARY t2 ALL NULL NULL NULL NULL # NULL 3092 SUBQUERY t1 index_merge i4,i6 i6,i4 5,4 NULL # Using sort_union(i6,i4); Using where 310SELECT COUNT(*), SUM(key3) FROM t2 WHERE EXISTS (SELECT * FROM t1 WHERE key6<3 OR key4<10); 311COUNT(*) SUM(key3) 3122057 2098421 313UPDATE t2 SET key3=20 WHERE EXISTS (SELECT * FROM t1 WHERE key6<3 OR key4<10); 314SELECT COUNT(*), SUM(key3) FROM t2 WHERE EXISTS (SELECT * FROM t1 WHERE key6<3 OR key4<10); 315COUNT(*) SUM(key3) 3162057 41140 317EXPLAIN UPDATE t1 SET key8=50 WHERE key5=80 OR key6=49; 318id select_type table type possible_keys key key_len ref rows Extra 3191 SIMPLE t1 index_merge i5,i6 i5,i6 5,5 NULL # Using sort_union(i5,i6); Using where 320SELECT COUNT(*), SUM(key8) FROM t1 WHERE key5=80 OR key6=49; 321COUNT(*) SUM(key8) 3221 64 323UPDATE t1 SET key8=50 WHERE key5=80 OR key6=49; 324SELECT COUNT(*), SUM(key8) FROM t1 WHERE key5=80 OR key6=49; 325COUNT(*) SUM(key8) 3261 50 327DROP TABLE t1; 328DROP TABLE t2; 329