En estos días, a raíz de un tema con hibernate, implemente un log_statement en all y empece a reportar consultas con 50 campos o mas (saltaron algunas con 1200, y 50 joins)  y no es que postgres no lo soportaba, sino que tardaba 90 segs en contestar. Estas consultas median entre 80 y 100 mil caracteres porque en el select venian enumerados todos los campos (podría haber sido un * y listo)

Entonces, ya yendo para el lado de postgres, ¿que tanto impacto tengo que esperar por una consulta de este tamaño?


Este es el comando de bash que revisa los logs

cat postgresql-2018-10-25*.log | while read line; do awk -F, '{ if (NF > 49) {print NF " -> " $0;} }' <<< "$line"; done > revisar.log

En revisar.log termino con 7500 consultas.


On 2018-10-30 15:18, Alvaro Herrera wrote:
Carlos Edward Grajales Marmolejo escribió:
Buenas tardes.
Alguien de la lista sabe si postgres tiene algun limite en cuanto al tamaño
de  la cadena (query) a ejecutar?
No realmente ... hay un límite físico de la memoria disponible, creo.
Pero por ej. puedes poner grandes cantidades de valores en cláusulas
VALUES.

Y que implicaciones puede tener una consulta (cadena) muy grande para el
motor en terminos de tiempo de planeacion, ejecucion, memoria usada, etc.
depende de en qué cláusula vaya todo ese espacio usado.

Esto puede variar con la version de postgres?
En general el optimizador/ejecutor evolucionan de una versión a otra,
pero el lexer/parser creo que es mayormente el mismo últimamente.


Reply via email to