Mybatis查询in的字段过多不走索引

mybatis查询in的字段有索引,比如说是主键查询, 但是in的字段过多导致索引失效,

这个时候可以考虑将in的数量变少, 200以内都可以, 在数据库方面采用 foreach unionall 的方式将数据集合查询出来

c 复制代码
Service层:
List<List<String>> zffsDdbhList = Lists.partition(ddbhList, MagicNumber.INT200);

Dao层:
List<HotelKhSjzfxx> getListByDdbhArray(@Param("ywdh") List<List<String>> ywdh);

sql.xml:
<select id="getListByDdbhArray" resultType="cn.vetech.center.hotel.entity.HotelKhSjzfxx">
  SELECT * from (
        <foreach collection="ywdh" item="ddbhArray" index="index" separator="union all">
                SELECT *  FROM hotel_kh_sjzfxx
                WHERE ywdh in
                <foreach collection="ddbhArray" item="ddbh" open="(" separator="," close=")">
                        #{ddbh}
                </foreach>
        </foreach>
  ) t
 </select>
相关推荐
呼啦啦啦啦啦啦啦啦1 小时前
【Redis】持久化机制
java·redis·mybatis
苏-言11 小时前
MyBatis最佳实践:动态 SQL
数据库·sql·mybatis
苏-言1 天前
MyBatis最佳实践:提升数据库交互效率的秘密武器
数据库·mybatis
一缕叶2 天前
mybatis(19/134)
mybatis
lozhyf2 天前
基于SpringBoot + Mybatis Plus + SaToken + Thymeleaf + Layui的后台管理系统
spring boot·layui·mybatis
坚持不懈的大白2 天前
后端:MyBatis
mybatis·pagehelper
十二同学啊2 天前
MyBatis Plus 的 InnerInterceptor:更轻量级的 SQL 拦截器
sql·tomcat·mybatis
日拱一卒无有尽, 功不唐捐终入海3 天前
Mybatis乐观锁使用
java·开发语言·jvm·mybatis
小菜日记^_^3 天前
苍穹外卖项目总结(二)
java·spring boot·spring·tomcat·maven·mybatis·postman
阑梦清川3 天前
用户中心项目教程(五)---MyBatis-Plus完成后端初始化+测试方法
java·数据库·mybatis