我将大约900个文档添加到两种类型(Country and Rate
)的couchbase中,然后尝试通过扩展CrudRepository
并使用findAll
public interface CountryRepository extends CrudRepository<Country, String> {
}
public interface RateRepository extends CrudRepository<Rate, String> {
List<Rate> findByTopTrue();
List<Rate> findByCountryStartingWith(String country);
List<Rate> findByCountryIsoCode(String isoCode);
}
我按要求创建了所有视图,但结果大约需要10秒,这是正常的,请注意,当我在RateRepository中使用其他方法时,它们非常快。
我确实为Rate中的顶级字段创建了主索引和GSI。
如何检查速度问题是否与couchbase或spring-data相关?
答案 0 :(得分:0)
我无法弄清楚为什么视图这么慢,所以我去了N1QL并且它更快更改了repostiory就像下面
public interface CountryRepository extends CrudRepository<Country, String> {
@Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter}")
List<Country> findAllCountries();
}
并使用findAllCountries
代替findAll