Lists: | pgsql-es-ayuda |
---|
From: | "Raul Andres Duque" <ra_duque(at)yahoo(dot)com(dot)mx> |
---|---|
To: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Optimizar JOINS en vista |
Date: | 2008-05-30 23:18:15 |
Message-ID: | BC9560BB0B424DC2AAC03F70AC814E24@Principal |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Cordial Saludo.
Creé una vista como alternativa "rápida" para la fuente de datos de una solución de BI. Básicamente es una serie de JOINs para traer descripciones de tablas auxiliares, pero analizando el explain me doy cuenta que sin importar si NO utilizo algunas descripciones en mi SELECT, sigue generando los JOINs con las tablas relacionados cuando realmente son "innecesarios" ya que existen FK y un JOIN NORMALITO (no left ni right) no va a alternar la cantidad de registros devueltos en caso de no encontrar registro relacionado.
Se les ocurre una alternativa usando vistas?
Atentamente,
RAUL DUQUE
Bogotá, Colombia
From: | Noel Martínez Juárez <noelius79(at)hotmail(dot)com> |
---|---|
To: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | PROBLEMA EN WINDOWS VISTA |
Date: | 2008-05-31 04:44:54 |
Message-ID: | BAY121-W4535126E917081172F1F49A6B90@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Soy nuevo en esto de PostgreSQL, bajé la versión 8.3 para windows,la instalé sobre Vista Ultimate, básicamente para probar un sistema que trabaja en access con formatos de fecha dd/mm/yyyy, pero a la hora de querer configurar el DATESTYLE(SET DATESTYLE TO "SQL"), desde el PGADMIN III y/o directamente desde el archivo postgresql.conf, no me resulta, es decir no me realiza los cambios, que puedo hacer, será problema del sistema operativo?, o tendré que probar desde XP?, gracias.
NOEL
_________________________________________________________________
Tenemos lo que búscas…JUEGOS.
http://club.prodigymsn.com/
From: | "Jaime Casanova" <systemguards(at)gmail(dot)com> |
---|---|
To: | "Raul Andres Duque" <ra_duque(at)yahoo(dot)com(dot)mx> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Optimizar JOINS en vista |
Date: | 2008-05-31 05:31:22 |
Message-ID: | c2d9e70e0805302231l6101b06fkdafa933946485a9d@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
On Fri, May 30, 2008 at 6:18 PM, Raul Andres Duque
<ra_duque(at)yahoo(dot)com(dot)mx> wrote:
> Cordial Saludo.
>
> Creé una vista como alternativa "rápida" para la fuente de datos de una
> solución de BI. Básicamente es una serie de JOINs para traer descripciones
> de tablas auxiliares, pero analizando el explain me doy cuenta que sin
> importar si NO utilizo algunas descripciones en mi SELECT, sigue generando
> los JOINs con las tablas relacionados cuando realmente son "innecesarios" ya
> que existen FK y un JOIN NORMALITO (no left ni right) no va a alternar la
> cantidad de registros devueltos en caso de no encontrar registro
> relacionado.
>
Si la vista tiene JOIN's porque esperas que no ejecute los joins?
--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Guayaquil - Ecuador
Cel. (593) 087171157
From: | José Fermín Francisco Ferreras <josefermin54(at)hotmail(dot)com> |
---|---|
To: | Noel Martínez Juárez <noelius79(at)hotmail(dot)com>, <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: PROBLEMA EN WINDOWS VISTA |
Date: | 2008-05-31 12:57:10 |
Message-ID: | BAY116-W413BDA309B28F080D685B4C6B90@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Noel, debes intentar 2 cosas:1. Parar el servicio y luego iniciarlo.ó2. Reiniciar la computadora.<html><div>ing. José Fermín Francisco Ferreras <BR>San Francisco de Macorís, Rep. Dom. <BR></div></html>From: noelius79(at)hotmail(dot)comTo: pgsql-es-ayuda(at)postgresql(dot)orgSubject: [pgsql-es-ayuda] PROBLEMA EN WINDOWS VISTADate: Fri, 30 May 2008 23:44:54 -0500Soy nuevo en esto de PostgreSQL, bajé la versión 8.3 para windows,la instalé sobre Vista Ultimate, básicamente para probar un sistema que trabaja en access con formatos de fecha dd/mm/yyyy, pero a la hora de querer configurar el DATESTYLE(SET DATESTYLE TO "SQL"), desde el PGADMIN III y/o directamente desde el archivo postgresql.conf, no me resulta, es decir no me realiza los cambios, que puedo hacer, será problema del sistema operativo?, o tendré que probar desde XP?, gracias.NOEL Relájate por un momento… Checa lo mejor de entretenimiento.
_________________________________________________________________
Get your fix of news, sports, entertainment and more on MSN Mobile
http://www.msnmobilefix.com/Default.aspx
From: | "Marcos Saldivar" <baron(dot)rojo(dot)cuerdas(dot)de(dot)acero(at)gmail(dot)com> |
---|---|
To: | Noel Martínez Juárez <noelius79(at)hotmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: PROBLEMA EN WINDOWS VISTA |
Date: | 2008-05-31 14:41:48 |
Message-ID: | 1c4d91ab0805310741i16b16ab2i32c0c795879a7a9c@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
2008/5/31 Noel Martínez Juárez <noelius79(at)hotmail(dot)com>:
> Soy nuevo en esto de PostgreSQL, bajé la versión 8.3 para windows,la instalé
> sobre Vista Ultimate, básicamente para probar un sistema que trabaja en
> access con formatos de fecha dd/mm/yyyy, pero a la hora de querer configurar
> el DATESTYLE(SET DATESTYLE TO "SQL"), desde el PGADMIN III y/o directamente
> desde el archivo postgresql.conf, no me resulta, es decir no me realiza los
> cambios, que puedo hacer, será problema del sistema operativo?, o tendré que
> probar desde XP?, gracias.
Si deseas que el cambio sea permanente debes editar postgresql.conf y
hacer un reload o restart del servicio postgresql si haces un SET
DATESTYLE TO "SQL" esto funcionara solo mientras estas conectado.
saludos.-
From: | Raúl Andrés Duque Murillo <ra_duque(at)yahoo(dot)com(dot)mx> |
---|---|
To: | "Jaime Casanova" <systemguards(at)gmail(dot)com> |
Cc: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Optimizar JOINS en vista |
Date: | 2008-06-02 10:19:01 |
Message-ID: | D736BBE89A214755B85F9FC3B1EC05F9@Principal |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
--------------------------------------------------
From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
Sent: Saturday, May 31, 2008 7:31 AM
To: "Raul Andres Duque" <ra_duque(at)yahoo(dot)com(dot)mx>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Optimizar JOINS en vista
> On Fri, May 30, 2008 at 6:18 PM, Raul Andres Duque
> <ra_duque(at)yahoo(dot)com(dot)mx> wrote:
>> Cordial Saludo.
>>
>> Creé una vista como alternativa "rápida" para la fuente de datos de una
>> solución de BI. Básicamente es una serie de JOINs para traer
>> descripciones
>> de tablas auxiliares, pero analizando el explain me doy cuenta que sin
>> importar si NO utilizo algunas descripciones en mi SELECT, sigue
>> generando
>> los JOINs con las tablas relacionados cuando realmente son "innecesarios"
>> ya
>> que existen FK y un JOIN NORMALITO (no left ni right) no va a alternar la
>> cantidad de registros devueltos en caso de no encontrar registro
>> relacionado.
>>
>
> Si la vista tiene JOIN's porque esperas que no ejecute los joins?
>
Espero que no los ejecute porque no los estoy utilizando en los objetos de
resultado de la selección de la vista.
Atentamente,
RAUL DUQUE
Bogotá, Colombia
>
> --
> Atentamente,
> Jaime Casanova
> Soporte y capacitación de PostgreSQL
> Guayaquil - Ecuador
> Cel. (593) 087171157
>
> __________ Information from ESET Smart Security, version of virus
> signature database 3152 (20080602) __________
>
> The message was checked by ESET Smart Security.
>
> http://www.eset.com
>
>
From: | Miguel Rodríguez Penabad <penabad(at)gmail(dot)com> |
---|---|
To: | Raúl Andrés Duque Murillo <ra_duque(at)yahoo(dot)com(dot)mx> |
Cc: | "Jaime Casanova" <systemguards(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Optimizar JOINS en vista |
Date: | 2008-06-02 18:49:33 |
Message-ID: | 95335e4e0806021149t4f1dd166md701ffd48eb8af00@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
>> Si la vista tiene JOIN's porque esperas que no ejecute los joins?
>>
>
> Espero que no los ejecute porque no los estoy utilizando en los objetos de
> resultado de la selección de la vista.
Pues esperas algo incorrecto.
Un join produce FILAS y de esas seleccionas lo que quieras...
Por ejemplo:
tabla A(c1, c2)
1,2
2,3
Tabla B(c2, c3)
2,3
A natural join B produce (c1,c2,c3)
1,2,3
por lo que "select c1 from A" te daría 2 filas:
1
2
pero "select c1 from A natural join B" te daría sólo la primera.
Y el número de filas recuperadas no depende de si seleccionas c1 o los
3 campos del join
--
Miguel Rodríguez Penabad
From: | "Jaime Casanova" <systemguards(at)gmail(dot)com> |
---|---|
To: | Raúl Andrés Duque Murillo <ra_duque(at)yahoo(dot)com(dot)mx> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Optimizar JOINS en vista |
Date: | 2008-06-02 19:03:58 |
Message-ID: | c2d9e70e0806021203q5f4121v2359f0cbcacf126d@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
On 6/2/08, Raúl Andrés Duque Murillo <ra_duque(at)yahoo(dot)com(dot)mx> wrote:
> > > Creé una vista como alternativa "rápida" para la fuente de datos de una
> > > solución de BI. Básicamente es una serie de JOINs para traer
> descripciones
> > > de tablas auxiliares, pero analizando el explain me doy cuenta que sin
> > > importar si NO utilizo algunas descripciones en mi SELECT, sigue
> generando los JOINs con las tablas relacionados cuando realmente son
> "innecesarios" ya
> > > que existen FK y un JOIN NORMALITO (no left ni right) no va a alternar
> la
> > > cantidad de registros devueltos en caso de no encontrar registro
> > > relacionado.
> > >
> > Si la vista tiene JOIN's porque esperas que no ejecute los joins?
> >
> Espero que no los ejecute porque no los estoy utilizando en los objetos de
> resultado de la selección de la vista.
>
Un Join lo que hace es verificar si un valor en una tabla A
corresponde a un valor en otra tabla B, al no filtrar la tabla B lo
que hace es verificar por cada registro devuelto de A si existe un
correspondiente en B... si usaras un filtro en B lo que va a hacer es
verificar por cada registro en A si existe uno correspondiente en B y
que ademas cumpla con las condiciones expuestas para B...
en todo caso si ejecuta el JOIN es la unica forma de saber si el
regsitro esta o no en B
--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Guayaquil - Ecuador
Cel. (593) 087171157