mysql> EXPLAIN SELECT * FROM adminlog WHERE adminlogid IN (SELECT adminlogid FROM adminlog WHERE extrainfo LIKE '%4087%' UNION SELECT adminlogid+1 FROM adminlog WHERE extrainfo LIKE '%4087%' UNION SELECT adminlogid+2 FROM adminlog WHERE extrainfo LIKE '%4087%' UNION SELECT adminlogid+3 FROM adminlog WHERE extrainfo LIKE '%4087%' UNION SELECT adminlogid-1 FROM adminlog WHERE extrainfo LIKE '%4087%' UNION SELECT adminlogid-2 FROM adminlog WHERE extrainfo LIKE '%4087%' UNION SELECT adminlogid-3 FROM adminlog WHERE extrainfo LIKE '%4087%');
+----+--------------------+----------------------+--------+---------------+---------+---------+------+--------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+--------------------+----------------------+--------+---------------+---------+---------+------+--------+-------------+
| 1 | PRIMARY | adminlog | ALL | NULL | NULL | NULL | NULL | 149201 | Using where |
| 2 | DEPENDENT SUBQUERY | adminlog | eq_ref | PRIMARY | PRIMARY | 4 | func | 1 | Using where |
| 3 | DEPENDENT UNION | adminlog | ALL | NULL | NULL | NULL | NULL | 149201 | Using where |
| 4 | DEPENDENT UNION | adminlog | ALL | NULL | NULL | NULL | NULL | 149201 | Using where |
| 5 | DEPENDENT UNION | adminlog | ALL | NULL | NULL | NULL | NULL | 149201 | Using where |
| 6 | DEPENDENT UNION | adminlog | ALL | NULL | NULL | NULL | NULL | 149201 | Using where |
| 7 | DEPENDENT UNION | adminlog | ALL | NULL | NULL | NULL | NULL | 149201 | Using where |
| 8 | DEPENDENT UNION | adminlog | ALL | NULL | NULL | NULL | NULL | 149201 | Using where |
| | UNION RESULT | <union2,3,4,5,6,7,8> | ALL | NULL | NULL | NULL | NULL | NULL | |
+----+--------------------+----------------------+--------+---------------+---------+---------+------+--------+-------------+
9 rows in set (0.02 sec)