Я использую JPAQuery для запросов к базе данных и сталкиваюсь с задержкой при ее извлечении, я также предоставил BatchSize, но, похоже, это не соблюдается. Запрос занимает около 2 секунд, чтобы запросить и получить, однако фактическое время выполнения составляет 19 миллисекунд. Пожалуйста, порекомендуйте.
JPAQueryFactory queryFactory = new JPAQueryFactory(entityManager);
JPAQuery query = queryFactory.select(queryBase.getColumns()).distinct().from(entityPath);
joinConditionsList.forEach(addDynamicJoins(query));
query
.where(queryBase.getFilters())
.orderBy(queryBase.getOrderBy())
.offset(queryBase.getOffset())
.limit(50000);
long startTime = System.currentTimeMillis();
List<Tuple> list = query.fetch();
Я указал следующее в application.yml.
jpa:
show-sql: true
hibernate:
ddl-auto: none
batch_size: 234
naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
properties:
hibernate:
jdbc:
lob:
non_contextual_creation: true
batch_size: 235
temp:
use_jdbc_metadata_defaults: false
database-platform: org.hibernate.dialect.PostgreSQL9Dialect