Estamos utilizando Spring Data con PageRequest y con un conjunto de datos significativamente grande. Todas las consultas tienen un rendimiento óptimo, excepto que la consulta se ejecuta para obtener el número total de páginas. ¿Hay alguna manera de desactivar esta característica o es probable que tengamos que implementar nuestra propia paginable?¿Cómo se desactiva la consulta de recuento de PageRequest para obtener el total de páginas?
Editar: Después de un análisis más detallado Creo que la única manera de evitar este problema es no utilizar datos de primavera y utilizar EntityManager, ya que permite el ajuste de la fila de inicio y el número de registros que se regreso. Solo necesitamos si la página siguiente está disponible, así que solo recuperamos un registro adicional. También necesitamos una consulta dinámica que no parece posible en Spring Data.
Editar 2: Y parece que simplemente no esperé lo suficiente para algunas respuestas. ¡¡¡Gracias chicos!!!
Hola Oliver, ¿es posible hacer lo mismo usando el método findAll()? Algo así como List findAll (pageable pageable)? (para que sea posible generar algo como: SELECCIONAR * DESDE LA TABLA ORDER BY xxx LIMIT yyy)? No encontré la manera de hacerlo (y comencé una "guerra de llama" con Ralph en este hilo) :-) –
¿Qué pasa si quiero obtenerlos todos en una página? Es decir, ignorando la paginación. ¿Puedo hacer algo como la nueva PageRequest (0, 0)? – Stephane
@StephaneEybert - si quiere todo, simplemente deje fuera el parámetro Pageable de la definición de su método. Por supuesto, debes tener cuidado con esto y con los conjuntos de datos gigantes. – JBCP