Re: Vistas Materializadas Vs, Vistas Comunes

From: Arturo Munive <arturomunive(at)gmail(dot)com>
To: Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com>
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Vistas Materializadas Vs, Vistas Comunes
Date: 2007-12-31 13:34:38
Message-ID: 4778EFEE.8060103@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gabriel Hermes Colina Zambra escribió:
> Comento que solucione otro problema de indole
> parecido, resulta que quiero saber el saldo por
> movimiento o sea el saldo por cada fila, para una
> consulta dada, bueno hasta ahora con view que se
> leyera a si mismo mediante una sub consulta con join o
> sin el me habia resultado comodo, pero 5 anios de
> informacion generaron un problema de lentitud
Ese es un problema que yo también había considerado que sucedería, pero
lo estaba dejando para "lueguito"
si no te entiendo mal es el caso de:

Mov Entrada Salida Saldo
01 10 0 10
02 20 0 30
03 0 5 25
04 15 0 40
05 0 12 28

donde el valor saldo de la segunda línea es Saldo de la linea
anterior+entrada de la segunda
es decir 10+20 = 30

> estudiando el caso de vistas materializadas me di
> cuenta que ponerlo en produccion me llevaria basante
> tiempo. Tampoco tenia el recurso de oracle que permite
> leer el dato de la fila anterior en el siguiente
> registro,
Como me gustaría tener mas tiempo y conocimiento en postgresql para
poder implementar una utilidad como esa, pero
primero aprende a caminar .. luego a correr :)

> Entonces probe algo que se asemeja al
> concepto de tabla materializada, y es lo siguiente,
> cree una tabla auxiliar con la estructura de la
> consulta mas un campo saldo,
Esa es una tabla temporal, o una común?
> con una funcion lleno el
> saldo hasta una fecha dada, puedo filtrar por una
> empresa o todas y determino una fecha final, luego
> mediante la opcion for variable_registro IN select *
> from consulta where xxxx loop;hago los insert de los
> registros desde el saldo hasta el final cargando el
> campo saldo con una variable que lee el campo entrada
> y el campo salida, lo cual me permite mostrar una
> ficha de articulo o un saldo de deudores o acreedores
> con una rapidez que bajo de 50 segundos a 20 ms para
> una cantidad similar de registros a tu prueba en las
> lineas y la mitad aprox en los cabezales de los
> documentos.
A mi criterio la solución iba por ahí también, pero aun no la he
implementado,
habrá alguna otra manera de hacer eso , mas simple?
>
> Bueno te digo esto por que realmente, solucione algo
> usando un metodo que para este caso es bueno y es una
> tercera opcion a tener en cuenta. La verdad que
> Pl/pgsql es una excelente herramienta y para hacer lo
> que te conte es excelente.
>
Obviamente lo es, mi primera acción para afrontar un problema es
plantear la solución mas simple que puedo originar yo mismo, luego me
gusta ver las soluciones de otra gente , y comparar y tratar de hacer
una mixtura de ambas. Me gusta aplicar eso de Newton que decía algo como
esto "Yo miré mas lejos por que me paré en los hombros de gigantes"
así que si algo ya está hecho o hay una solución mejor que la mía Pues
bienvenida sea.

Para este caso en particular pues yo creo la solución es la misma, otra
que se me ocurría era que en el lado del cliente ir calculando los
saldos a medida que la tabla se iba mostrando, Es decir cada vez que mi
Componente JTable (Java - Swing)
me pedía una fila mi modelo de datos devolvía lo que en la consulta de
la base de datos le devolvía y calculaba el saldo en el lado del
cliente, el problema que iba viendo en eso era cuando hacia paginación
iba a ser un poco fastidioso, bueno cuando tenga la solución la estaré
posteando por acá.

> Arturo, Alvaro, Lista en general que tengan un feliz
> anio nuevo al igual que yo lo voy a tener por que
> este hilo me dio un gran aporte a un problema a
> mediano plazo.
>
Saludos a todos Igualmente, y Un FELIZ AÑO ( a ustedes q lo reciben
horas antes, que los que estamos mas al oeste cerca del pacifico)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Arturo Munive [pgsql-es-ayuda] 2007-12-31 13:39:25 Consulta con saldo de la fila anterior
Previous Message Gabriel Hermes Colina Zambra 2007-12-31 02:07:28 Re: Algo no defini bien ? o fallo FK