由于一个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/