MySQL优化 select max(addtime) 改为 select *

来源:互联网 发布:网页打开淘宝app 编辑:程序博客网 时间:2024/06/07 07:02

原SQL:

MariaDB [db]> explain SELECT MAX(addtime) FROM `f_info` WHERE `status` IN (1, 2)\G*************************** 1. row ***************************           id: 1  select_type: SIMPLE        table: f_info         type: rangepossible_keys: idx-info-status          key: idx-info-status      key_len: 2          ref: NULL         rows: 223983        Extra: Using index condition1 row in set (0.00 sec)

优化之后,按照主键来获取

MariaDB [db]> explain select * from f_info where status in (1,2) order by tid desc limit 1\G*************************** 1. row ***************************           id: 1  select_type: SIMPLE        table: f_info         type: indexpossible_keys: idx-info-status          key: PRIMARY      key_len: 4          ref: NULL         rows: 2        Extra: Using where1 row in set (0.00 sec)