由于for循环中有数千个数据库调用,我遇到了性能问题。 有什么出路吗?
for( String cacheKey : moduleCacheMap.keySet() )
{
if( inputCachekey != null && inputCachekey.equalsIgnoreCase( cacheKey ) )
{
CacheItemDto cacheItemDto = moduleCacheMap.get( cacheKey ) ;
cacheList = cacheDao.getCacheList( cacheItemDto ) ;
}
}
此处cacheDao.getCacheList
每次都会触发一个新的数据库事务。
答案 0 :(得分:1)
1)在单个查询中获取所有需要的行而不是循环,或
2)如果您不需要立即获取所有数据,请进行延迟加载cacheList。