Ryan Wang 👍
尝试了Links方案,1500条数据查询耗时4秒多,仍然很慢。
不清楚R2dbcRepository底层的逻辑,总体感觉spring reactive的响应式编程应该比传统的mvc性能要好,1500条数据查出来后在内存中做分组应该不至于这么慢。
以下这个方法,日志中打印了一万多次listAll耗时,执行时间在4秒多。
Flux<Link> listAll(@Nullable Predicate<Link> predicate) {
Instant start = Instant.now(); // 获取开始时间
Flux<Link> fluxLinks = client.list(Link.class, predicate, defaultLinkComparator()).doOnNext(item->{
Instant end = Instant.now(); // 获取结束时间
Duration duration = Duration.between(start, end); // 计算时间差
System.out.println("listAll耗时:"+duration.getSeconds());
});
return fluxLinks;
}