Postgres explica el costo

Postgres Explica El Costo



Postgres es un sistema de base de datos relacional de código abierto poderoso y ampliamente utilizado con una sólida reputación por su solidez, funcionalidad y rendimiento.

Una de las herramientas que hacen que el rendimiento de Postgres sea predominantemente sólido es su comando EXPLAIN, que proporciona detalles sobre el plan de ejecución de una consulta SQL.

¿Qué es el comando EXPLICAR?

El comando EXPLAIN muestra el plan de ejecución que genera el planificador de PostgreSQL para una instrucción SQL determinada.







Esto incluye información sobre los costos estimados de realizar cada paso de la consulta. Al examinar estos costos, podemos entender por qué una consulta se ejecuta lentamente y cómo optimizarla.



Costo de explicación de PostgreSQL

Principalmente usamos el comando EXPLAIN para obtener la información sobre una consulta determinada. El comando genera información sobre la consulta.



Tomemos como ejemplo la consulta que se muestra a continuación:





SELECCIONE f.título, c.nombre
DE la película f
ÚNETE film_category fc ON f.film_id = fc.film_id
ÚNASE a la categoría c EN fc.category_id = c.category_id;

Si ejecutamos el comando de explicación en la unión simple anterior:

EXPLICAR SELECCIONAR f.título, c.nombre
DE la película f
ÚNETE film_category fc ON f.film_id = fc.film_id
ÚNASE a la categoría c EN fc.category_id = c.category_id;

Deberíamos obtener la salida como se muestra a continuación:



Puede notar que para cada paso de la consulta, PostgreSQL devuelve el costo estimado de esa consulta.

  1. startup_cost: muestra el costo estimado para inicializar la operación antes de que pueda comenzar a generar las filas.
  2. costo_total: el costo total para recuperar todas las filas.
  3. Filas: determina el número estimado de filas que devuelve la consulta.
  4. Ancho: determina el número promedio de bytes de todas las filas que devuelve la operación.

Los costos de consulta en PostgreSQL se denotan en unidades arbitrarias que están determinadas por los parámetros de costo que se establecen en la configuración del servidor.

La clave de estos parámetros es seq_page_cost, que establece el costo de una búsqueda de página de disco que no está en el caché.

Si está en pgAdmin, puede usar la función 'explicar analizar' para obtener un diagrama más legible y mejor presentado para el comando de explicación. Por ejemplo:

Luego puede hacer clic en cada paso para ver las estadísticas y los costos estimados.

Optimización de las consultas en función del costo

Al optimizar sus consultas, es esencial comprender que el costo más bajo generalmente significa una ejecución más rápida. Por lo tanto, puede modificar sus consultas por un menor costo.
Aquí hay algunos factores a considerar:

Usar índices de tabla – Los índices reducen significativamente el costo de las consultas basadas en búsqueda al mantener una estructura de datos que permite una búsqueda más rápida.

Usa funciones y operadores sabiamente – La estimación de costos para funciones y operadores no siempre es precisa, ya que el costo real puede depender en gran medida de los datos específicos. Por lo tanto, limite al mínimo el uso de funciones y operadores complejos.

Conclusión

Exploramos el concepto de costos en un comando ANALYZE de PostgreSQL. Discutimos qué significa la salida del comando y cómo usar la salida del costo para analizar la forma más eficiente de ejecutar una consulta determinada.