en la consulta de la base de datos, determinar el número total de resultados antes de aplicar el límite es crucial para la paginación. Actualmente, un enfoque común implica ejecutar la consulta dos veces: una vez para contar todos los resultados y otra vez con un límite para recuperar la página deseada. Sin embargo, este método puede ser ineficiente.
Afortunadamente, PostgreSQL 8.4 introdujo una solución más eficiente: funciones de ventana. Al usar una función de ventana, puede recuperar tanto el recuento de resultados totales como los resultados limitados en una sola consulta.
SELECT foo , count(*) OVER() AS full_count FROM bar WHEREORDER BY LIMIT OFFSET ;
que si bien este método proporciona la información deseada, puede ser computacionalmente costosa, ya que todas las filas deben procesarse incluso si el límite se excluirá. El orden de operaciones en Postgres es el siguiente:
aplique funciones de ventana
: obtener diagnósticos integer_var = row_count;
[optimizar la consulta con offset en la gran cantidad en grande en grande Tabla] (https://dba.stackexchange.com/questions/128089/optimize-Query-with-fetset-N--Large-Table)
[Calcule el número de filas afectadas por la consulta por lotes en Postgresql] (https://stackoverflow.com/questions/4644316/calculate-number-of-rows-afected-by-batch-query-in-postgresql)
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3