基于mybatis下mysql in 语句优化 | 您所在的位置:网站首页 › mybatis查询ids › 基于mybatis下mysql in 语句优化 |
mysql中如果查询语句包含in并且参数中in的数量还比较多的情况下,一般不走索引。会造成查询慢的情况。一般情况下,in语句我们可以通过转化成连接语句,利用union all来优化查询:如下: 其中ids是个List SELECT A.id,A.name FROM A inner join select #{id} id B on A.id=B.id 如果ids的数量还是特别多,union all 会造成sql长度超限。 上述原因下,想通过传字符串参数在mysql下通过拆分字符串,利用临时表来实现 create temporary table a_temp select #{ids} as name ; select A.id,A.name from A |
CopyRight 2018-2019 实验室设备网 版权所有 |