由于一个for循环中有成千上万的数据库调用,我面临性能问题。
有没有出路?

for( String cacheKey : moduleCacheMap.keySet() )
    {
        if( inputCachekey != null && inputCachekey.equalsIgnoreCase( cacheKey ) )
        {
            CacheItemDto cacheItemDto = moduleCacheMap.get( cacheKey ) ;
            cacheList = cacheDao.getCacheList( cacheItemDto ) ;
        }
    }


此处cacheDao.getCacheList每次都会触发一个新的数据库事务。

最佳答案

1)在单个查询中获取所有需要的行,而不是循环访问,或者

2)如果您不需要立即获取所有数据,请延迟加载cacheList。

关于java - 循环内是否有DB调用的替代方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21374880/

10-14 11:24