Descripción de las estadísticas
Cuando se ejecuta una consulta, esta necesita crear un plan para decidir cómo acceder a los datos. Por ejemplo, si una consulta SELECT devuelve todas las filas, no supone ninguna ventaja usar un índice y sería más eficaz examinar toda la tabla. En este escenario, es sencillo planear la consulta, pero la mayoría de los planes de consulta no son tan sencillos de resolver.
Imagine que ejecuta una consulta que busca cada pedido de entre 10,00 USD y 20,00 USD. Inicialmente, no sabemos si la consulta devuelve todos los datos de la tabla o solo un subconjunto pequeño. Esta incógnita dificulta el planeamiento de la estrategia de consulta hasta que veamos los datos. Si sabemos que la tabla contiene pedidos que tienen un precio de compra entre 1,00 USD y 800,00 USD, se podría usar un índice para buscar un pequeño subconjunto de los datos. Sin embargo, es posible que todavía no haya suficiente información para generar el plan de consulta adecuado. En este ejemplo, aunque los pedidos tienen un precio de compra de entre 1,00 USD y 800,00 USD, el 95 % de los pedidos se encuentran entre 10,00 USD y 20,00 USD, y un examen de los datos es realmente el plan más eficaz.
Con escenarios como el del ejemplo anterior, PostgreSQL necesita estadísticas detalladas para poder usar el plan de consulta óptimo.
Para supervisar las estadísticas de planeación y ejecución, hay una extensión de PostgreSQL denominada pg_stat_statements. pg_stat_statements está habilitado de forma predeterminada en Azure Database for PostgreSQL y permite a los miembros del rol pg_read_all_stats consultar estadísticas mediante varias vistas pg_stat. La consulta siguiente devuelve la actividad de consulta mediante la vista pg_stat_activity:
SELECT * FROM pg_stat_activity;
Desactivación de pg_stat_statements
Si las consultas son únicas y no repite la misma consulta periódicamente, los datos históricos de consulta son menos útiles. Además, si no usa las vistas de pg_stat, no proporcionan ninguna ventaja. Hay una sobrecarga para mantener pg_stat_statements, que puede ser de hasta un 50 %, y puede desactivar el seguimiento de pg_stat_statements en estos escenarios.
Para desactivar el seguimiento de pg_stat_statements, siga estos pasos:
Vaya a Azure Portal y seleccione el servidor de Azure Database for PostgreSQL.
Seleccione Parámetros del servidor y vaya al valor pg_stat_statements.track.
Si quiere desactivar el seguimiento, seleccione NONE.
Para obtener un seguimiento más exacto, seleccione ALL.
El valor predeterminado es TOP.
Seleccione Guardar.