FILE_IN_SET IN 使用方法对比

user表数据

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命令查询运行情况

  • IN命令结果
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 索引范围扫描

  • FIND_IN_SET 结果
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 全盘扫描 效率低下不推荐使用

结论

IN 效率高与 FIND_IN_SET


SmallForest
239 声望12 粉丝

github:


引用和评论

0 条评论