原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)
本文介绍了一个具体的SQL查询优化案例,通过调整查询方式和利用主键索引来提高查询效率。展示了如何从范围查询转换为索引查询,从而显著减少扫描行数。
698

被折叠的 条评论
为什么被折叠?



