1.  explain select * from auth where id in (select max(id) from auth where uid = ‘551875694158684788’ && type = ‘wage’ && last_event = ‘0’ && status < ‘9’);

+—-+——————–+——-+——+—————+——+———+——-+——+————-+

| id | select_type        | table | type | possible_keys | key  | key_len | ref   | rows | Extra       |

+—-+——————–+——-+——+—————+——+———+——-+——+————-+

|  1 | PRIMARY            | auth  | ALL  | NULL          | NULL | NULL    | NULL  | 1181 | Using where |

|  2 | DEPENDENT SUBQUERY | auth  | ref  | uid           | uid  | 90      | const |   90 | Using where |

+—-+——————–+——-+——+—————+——+———+——-+——+————-+

2 rows in set (0.00 sec)

  1.  explain select * from auth where id  = (select max(id) from auth where uid = ‘551875694158684788’ && type = ‘wage’ && last_event = ‘0’ && status < ‘9’);

+—-+————-+——-+——-+—————+———+———+——-+——+————-+

| id | select_type | table | type  | possible_keys | key     | key_len | ref   | rows | Extra       |

+—-+————-+——-+——-+—————+———+———+——-+——+————-+

|  1 | PRIMARY     | auth  | const | PRIMARY       | PRIMARY | 4       | const |    1 |             |

|  2 | SUBQUERY    | auth  | ref   | uid           | uid     | 90      |       |   90 | Using where |

+—-+————-+——-+——-+—————+———+———+——-+——+————-+

2 rows in set (0.00 sec)

多有意思的现象,只是把 in  换成了 = 而已,性能变化居然如此之大

Leave a comment

Your email address will not be published.

*