创建临时表
<select id="xxx" resultType="xxx">
SELECT DISTINCT
A.ORG_ID,A.PARENT_ORG_ID,A.AREA_ID,A.ORG_NAME,A.ORG_TYPE,A.STATE,A.STATE_DATE,
ORG_CODE,A.LEADER,A.SP_ID,C.USER_ID,C.STAFF_NAME LEADER_STAFF_NAME
FROM BFM_ORG A LEFT JOIN BFM_STAFF C ON A.LEADER = C.STAFF_ID
WHERE A.ORG_ID IN
<foreach item="item" index="index" collection="orgIdList"
open="(" separator=" union all " close=")">
select #{item} from dual
</foreach>
</select>
orgIdList后台传来的数据,超过1000条,使用union all拼接临时表可以解决in条件超出1000的问题。
当in条件超出1000是会严重拖累系统性能,影响查询速度。
将得到的数据展示出来,可通过分页等方式逐步显示数据。