----- Original Message ----- From: "Silvio Quadri" <[email protected]>
To: "Raúl Andrés Duque Murillo" <[email protected]>
Cc: "Lista - PostgreSQL" <[email protected]>
Sent: Tuesday, February 17, 2009 2:56 PM
Subject: Re: [pgsql-es-ayuda] Comportamiento funcion en query


El día 17 de febrero de 2009 7:46, Raúl Andrés Duque Murillo
<[email protected]> escribió:
Cordial saludo.

Estoy experimentando un comportamiento que a mi modo de ver es extraño
cuando envío un query de este estilo:

select upd_bancos(id_movimiento, 0, 1)
from def_movimiento
where fecha_movimiento >= '2008-12-1'
limit 1000

Donde upd_bancos realiza unas 4 actualizaciones/insert y unos 6 select todos
ellos por PK/Indice único.
El comportamiento no es lineal cuando debería serlo porque estamos hablando
que en promedio las operaciones a hacer son muy similares entre registro y
registro y se vuelve más critico este comportamiento no lineal cuando
adiciono un "order by fecha_movimeinto" y me parece que la ejecucción
debería ser igual a: tiempo ordenamiento + tiempo procesamiento sin
ordenamiento pero no es así, tarda por ejemplo con 100k registros
387sg´mucho más que la suma de 10s(ordenamiento) + 274(proceso sin
ordenamiento). Porqué?

Es muy difícil determinar el porqué sin mucho información.
Miraste los EXPLAIN.
Aparte el tiempo de respuesta puede estar determinado por la carga de
la máquina y, aún suponiendo que esté solo el postgres con un solo
usuario, la primera ejecución será más lenta que las posteriores,
dependiendo de la configuración.

Tienes razón, sin embargo he realizado pruebas en 1ra corrida y repitiendola.


Otro tema que he visto es en algunas ocasiones si cancelo la sentencia el
servidor se cae (windows con 8.3.5) no admitiendo más conexiones TCP.

En esto no te puedo ayudar. ¿Estás matando el proceso o dándole Ctrl-C
en la consola?

Realmente dandole Cancelar en pgadmin ...sipongo que es lo mismo que un ctrl-c en el psql.


Alguna sugerencia?

Atentamente,

RAUL DUQUE
Bogotá, Colombia





--
Silvio Quadri

--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo

Responder a