我使用Spring Data和WebFlux。 我有两种从数据库中获取数据的方法。
第一种方式: 我可以使用-
之类的请求获取数据Flux(?) findAllByName(String name)
第二种方式: 我可以使用运算符,因为我使用的是WebFlux
findAll().filter(x -> x.name.equals(name))
有什么区别?
哪个更好?
答案 0 :(得分:0)
对于Flux(?) findAllByName(String name)
,过滤发生在数据库内部,该数据库仅返回名称匹配的记录。
对于findAll().filter(x -> x.name.equals(name))
,您将从数据库中获取所有记录(表,文档集合等),并在应用程序中对其进行过滤。
如果您的数据库存储了千兆字节的数据,则在整个网络上移动它不是可行的策略。因此,首选第一个变体。