联表查询过程中,如果涉及表非常多,查询速度很慢。这时可以用追加字段的方法,将分页的结果拿出来进行联表查询。
devList = cmsDeviceDao.getMdevStateInfoByPage(paramMap, page);if (null != devList && devList.size() > 0) { for (Map<String, Object> devMap : devList) { Map<String, Object> stateMap = deviceBindLogDao.queryDevBindLogByDid((String) devMap.get("did")); if (null != stateMap && null != stateMap.get("devState")&& null != stateMap.get("bindTime")) { devMap.putAll(stateMap); } } }
如上代码所示,分页结果为devList,追加字段可以用加的形式,少量增加复杂度,使查询变快很多。