我正在使用Spring 4.0.3构建应用程序
我正在处理一些大数据,在我的@Repository中我有一个方法可以从db中获取大约300,000条记录。
我将根据其类型多次使用此数据(例如,我将显示已发生的导出操作的数量,并且在同一页面的另一个位置,我将显示发生了多少导入操作。)
我需要最小化数据库交互,我应该在服务层中有两个或更多方法用于导入,一个用于导出等...还是有其他方法?
P.S。通过这样做,服务和存储库接口将有不同数量的方法,这是一个很好的做法吗?
答案 0 :(得分:1)
如果要将数据库往返保持在最低限度,最好让DB为您处理数据并在一个查询中检索所有统计信息(导入数,导出数等)。
类似的东西:
SELECT imports, exports
FROM (select count(*) from OPS where TYPE="import") as imports,
(select count(*) from OPS where TYPE="export") as exports
如果算法更复杂,可能需要一些PL / SQL或等价物,但数据库的生活目标是处理数据,那么为什么不充分利用它呢?
答案 1 :(得分:0)
你可以缓存它,以避免数据库调用。
class business{
@cache the response
method1(import){
dbstore.getdata();
process the data to get import result;
}
@cache the response
method2(export){
dbstore.getdata();
process the data to get export result;
}
}
class dbstore{
getdata(){
..
}
}