原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: range
possible_keys: idx-info-status
key: idx-info-status
key_len: 2
ref: NULL
rows: 223983
Extra: Using index condition
1 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: index
possible_keys: idx-info-status
key: PRIMARY
key_len: 4
ref: NULL
rows: 2
Extra: Using where
1 row in set (0.00 sec)