联表查询降低复杂度

联表查询过程中,如果涉及表非常多,查询速度很慢。这时可以用追加字段的方法,将分页的结果拿出来进行联表查询。

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,追加字段可以用加的形式,少量增加复杂度,使查询变快很多。 

猜你喜欢

转载自blog.csdn.net/a1165117473/article/details/81214905