user表數據code
id | name |
---|---|
1 | 小明 |
2 | 小紅 |
3 | 小李子 |
如今查詢id爲 1,3的數據索引
select * from `user` where id in(1,3)
select * from `user` where FIND_IN_SET(id, '1,3')
使用explain命令查詢運行狀況table
explain select * from `user` where id in(1,3)
id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
---|---|---|---|---|---|---|---|---|---|
id | SIMPLE | user | range | PRIMARY | PRIMARY | 4 | 2 | Using where |
type = range 索引範圍掃描效率
explain select * from `user` where FIND_IN_SET(id, '1,3')
id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
---|---|---|---|---|---|---|---|---|---|
id | SIMPLE | user | ALL | 3 | Using where |
type=ALL 全盤掃描 效率低下不推薦使用select
IN 效率高與 FIND_IN_SET方法