Re: Recomendaciones sobre el uso de vistas.]

From: "Raul Andres Duque" <ra_duque(at)yahoo(dot)com(dot)mx>
To: "Arturo Munive" <arturomunive(at)gmail(dot)com>, "Javier Chávez B(dot)" <jchavezb(at)gmail(dot)com>
Cc: Juan Martínez <jeugenio(at)umcervantes(dot)cl>, <brulics(at)gmail(dot)com>, <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Recomendaciones sobre el uso de vistas.]
Date: 2007-08-10 17:45:45
Message-ID: 00c401c7db76$4c1f44d0$5800a8c0@amadeus.net.co
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Arturo ...

Esa misma duda la tuve hace algunos meses ... alguien me explico exactamente
la misma resolución para el tema de las vistas desde SQL SERVER. Sin embargo
me quedé con espinita y realicé pruebas ya que me parace MUY ineficiente ese
uso y aparentemente sin razón de ser.

Sin embargo no sé si será desde la versión 2005, porque hice la prueba de
revisar los planes CON y SIN vista y fueron muy similares ... parece que en
MSSQL adoptó el esquema de resolver el query completo tal como lo hace
postgresql.

Sería bueno que revisaras los planes de ejecución CON y SIN uso de vistas
para ver si llegas a mi misma conclusión.

Atentamente,

RAUL DUQUE
Bogotá, Colombia

----- Original Message -----
From: "Arturo Munive" <arturomunive(at)gmail(dot)com>
To: ""Javier Chávez B."" <jchavezb(at)gmail(dot)com>
Cc: "Juan Martínez" <jeugenio(at)umcervantes(dot)cl>; <brulics(at)gmail(dot)com>;
<pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Friday, August 10, 2007 11:55 AM
Subject: Re: [pgsql-es-ayuda] Recomendaciones sobre el uso de vistas.]

> Javier Chávez B. escribió:
>> insisto con el tema vistas.. creo que si se hace sobre
>> una tabla de uso frecuente en transacciones no es lo mejor..
>> independiente
>> del motor que uses!!
> Tu escribiste esto:
> -------------------
> porque al menos en sqlserver las vistas son muy costosas...
> imaginate consultas sobre una tabla que contiene la facturacion de un
> cliente, primero forma "la tabla virtual" (costoso)
> y despues tu consultas sobre ello!!!.
> -------------------
>
> Pero hasta donde yo tenia entendido en postgres no se consulta los datos
> hasta que no se hala reescrito la vista.
>
> Osea a ver si me explico:
> tenemos una tabla de 10 000 registros con columnas
> col_a
> col_b
> col_c
>
> si tenemos una "vista" algo asi como
> CREATE VIEW vista AS select col_a, col_b FROM tabla WHERE
> alguna_condicion"
>
> y luego hacemos un select
> SELECT * FROM vista WHERE otra_condicion
>
> entonces en SQL Server los pasos son:
> 1 resuelve la vista (ejm trae 5000 registros por el filtro de la primera
> condicion)
> luego a este conjunto de resultados aplica la otra_condicion y devuelve 25
> resultados (por ejemplo)
> Resultado: leiste 5025 registros para traer 25.
>
> Luego si no estoy mal en PostgreSQL
> Se arma una consulta con la definicion de la vista
> y en el where se tiene
> ... WHERE alguna_condicion AND otra_condicion
>
> y probablemente se lean menos registros, es decir postgres no lee primero
> la vista complea y luego filtra sobre ella
> si no que arma un filtro compuesto por el de la vista + el de la consulta
> sobre la vista
>
> No es asi???? tal ves alguien lo pùeda explicar mejor que yo
> Quizá Juan Martinez (parece que para analogías es bueno ;) )
>
>
>
>
>
>
>
> --
> ---------------------------(fin del mensaje)---------------------------
> TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
> http://archives.postgresql.org/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Espartano 2007-08-10 17:50:28 Re: Como insertar registros
Previous Message Arturo Munive 2007-08-10 17:44:12 Re: Conexión a Postgresql 8.2.4 desde Netbeans 5.5.1