Re: [pgsql-es-ayuda] Query NOt In para optimizar
El 15/12/14 a las 21:17, Edwin Quijada escribió: Hola! Estoy haciedno un select que implica dos tablas , es mas bien un except, hasta aho todo bien ya lo hice pero ando buscando una forma un poco mas rapida de lograr lo que quiero create table A( fid int,fbanco int, name varchar(20), fecha timestamp ); create table B( pid int,user varchar(20), address varchar(30),fecha_Actual date ) Necesito los registros que estan en A pero no estan en B, hice algo como esto select fid,fbanco,fecha from A where fbanco = 1 AND fid NOT IN(select pid FROM B ) group by 1,2,3 SELECT fid, fbanco, fecha FROM A LEFT OUTER JOIN B ON (A.fid=B.pid) WHERE B.pid IS NULL GROUP BY 1,2,3; Ese subselect con el IN va a ser muy lento con la cantidad de registros que tiene la tabla B. Es mucho más optimo unir las tablas y filtrar las que tuplas de la tabla A que no tienen su correspondiente referencia en B. Saludos, -- Martín Marquéshttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
Re: [pgsql-es-ayuda] Query NOt In para optimizar
Hola lista Martín disculpe la ignorancia, pero tengo entendido que si se coloca una condición filtró en el where de la tabla B, el left outer se convierte en inner join y se pierde el efecto. Por favor corrijame si me equivoco El 16/12/2014 05:28, Martín Marqués mar...@2ndquadrant.com escribió: El 15/12/14 a las 21:17, Edwin Quijada escribió: Hola! Estoy haciedno un select que implica dos tablas , es mas bien un except, hasta aho todo bien ya lo hice pero ando buscando una forma un poco mas rapida de lograr lo que quiero create table A( fid int,fbanco int, name varchar(20), fecha timestamp ); create table B( pid int,user varchar(20), address varchar(30),fecha_Actual date ) Necesito los registros que estan en A pero no estan en B, hice algo como esto select fid,fbanco,fecha from A where fbanco = 1 AND fid NOT IN(select pid FROM B ) group by 1,2,3 SELECT fid, fbanco, fecha FROM A LEFT OUTER JOIN B ON (A.fid=B.pid) WHERE B.pid IS NULL GROUP BY 1,2,3; Ese subselect con el IN va a ser muy lento con la cantidad de registros que tiene la tabla B. Es mucho más optimo unir las tablas y filtrar las que tuplas de la tabla A que no tienen su correspondiente referencia en B. Saludos, -- Martín Marquéshttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org ) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
Re: [pgsql-es-ayuda] Query NOt In para optimizar
El 16/12/2014 05:28, Martín Marqués mar...@2ndquadrant.com escribió: SELECT fid, fbanco, fecha FROM A LEFT OUTER JOIN B ON (A.fid=B.pid) WHERE B.pid IS NULL GROUP BY 1,2,3; Hellmuth Vargas escribió: Martín disculpe la ignorancia, pero tengo entendido que si se coloca una condición filtró en el where de la tabla B, el left outer se convierte en inner join y se pierde el efecto. Por favor corrijame si me equivoco Si pones un b.pid = 123 entonces tienes razón, pero acá el WHERE es IS NULL que precisamente se va a cumplir para las filas del outer join que no corresponden con el inner join. -- Álvaro Herrerahttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
Re: [pgsql-es-ayuda] Query NOt In para optimizar
El 16/12/14 a las 10:07, Hellmuth Vargas escribió: Hola lista Martín disculpe la ignorancia, pero tengo entendido que si se coloca una condición filtró en el where de la tabla B, el left outer se convierte en inner join y se pierde el efecto. Por favor corrijame si me equivoco Te corrijo! ;) Prueba con un EXPLAIN ANALYZE para ver como PostgreSQL planifica la consulta. explain analyze select * from personas where codigo NOT IN (SELECT persona FROM usuarios); QUERY PLAN Seq Scan on personas (cost=3084.72..6036.51 rows=62552 width=46) (actual time=111.600..162.448 rows=15 loops=1) Filter: (NOT (hashed SubPlan 1)) Rows Removed by Filter: 125088 SubPlan 1 - Seq Scan on usuarios (cost=0.00..2714.98 rows=147898 width=4) (actual time=0.011..31.877 rows=147898 loops=1) Total runtime: 162.520 ms explain analyze select * from personas p LEFT OUTER JOIN usuarios u ON (p.codigo=u.persona) where u.persona IS NULL; QUERY PLAN --- Hash Anti Join (cost=5719.70..18174.42 rows=13388 width=83) (actual time=74.550..195.594 rows=15 loops=1) Hash Cond: (p.codigo = u.persona) - Seq Scan on personas p (cost=0.00..2639.03 rows=125103 width=46) (actual time=0.004..19.270 rows=125103 loops=1) - Hash (cost=2714.98..2714.98 rows=147898 width=37) (actual time=70.090..70.090 rows=147898 loops=1) Buckets: 16384 Batches: 2 Memory Usage: 4749kB - Seq Scan on usuarios u (cost=0.00..2714.98 rows=147898 width=37) (actual time=0.003..23.560 rows=147898 loops=1) Total runtime: 195.660 ms En este caso, anduvo más rápido con el NOT IN (), pero eso depende mucho de cuantos datos se esten filtrando, cuantos datos totales haya en cada tabla, etc. 200k no es una gran tabla, IMO. Saludos, -- Martín Marquéshttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda
Re: [pgsql-es-ayuda] Query NOt In para optimizar
Ahh ok no había probando nunca con un IS NULL, gracias por la corrección!!! El 16/12/2014 08:20, Martín Marqués mar...@2ndquadrant.com escribió: El 16/12/14 a las 10:07, Hellmuth Vargas escribió: Hola lista Martín disculpe la ignorancia, pero tengo entendido que si se coloca una condición filtró en el where de la tabla B, el left outer se convierte en inner join y se pierde el efecto. Por favor corrijame si me equivoco Te corrijo! ;) Prueba con un EXPLAIN ANALYZE para ver como PostgreSQL planifica la consulta. explain analyze select * from personas where codigo NOT IN (SELECT persona FROM usuarios); QUERY PLAN Seq Scan on personas (cost=3084.72..6036.51 rows=62552 width=46) (actual time=111.600..162.448 rows=15 loops=1) Filter: (NOT (hashed SubPlan 1)) Rows Removed by Filter: 125088 SubPlan 1 - Seq Scan on usuarios (cost=0.00..2714.98 rows=147898 width=4) (actual time=0.011..31.877 rows=147898 loops=1) Total runtime: 162.520 ms explain analyze select * from personas p LEFT OUTER JOIN usuarios u ON (p.codigo=u.persona) where u.persona IS NULL; QUERY PLAN --- Hash Anti Join (cost=5719.70..18174.42 rows=13388 width=83) (actual time=74.550..195.594 rows=15 loops=1) Hash Cond: (p.codigo = u.persona) - Seq Scan on personas p (cost=0.00..2639.03 rows=125103 width=46) (actual time=0.004..19.270 rows=125103 loops=1) - Hash (cost=2714.98..2714.98 rows=147898 width=37) (actual time=70.090..70.090 rows=147898 loops=1) Buckets: 16384 Batches: 2 Memory Usage: 4749kB - Seq Scan on usuarios u (cost=0.00..2714.98 rows=147898 width=37) (actual time=0.003..23.560 rows=147898 loops=1) Total runtime: 195.660 ms En este caso, anduvo más rápido con el NOT IN (), pero eso depende mucho de cuantos datos se esten filtrando, cuantos datos totales haya en cada tabla, etc. 200k no es una gran tabla, IMO. Saludos, -- Martín Marquéshttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training Services
RE: [pgsql-es-ayuda] AYUDA
Entonces que los supuestos expertos que empiecen respetando Enviado mediante OWA para iPhone De: Cesar Erices caeri...@gmail.com Enviado: jueves, 11 de diciembre de 2014 21:11:14 Para: Javier Campana Cc: Alvaro Herrera; pgsql-es-ayuda@postgresql.org; Alejandro Carrillo Asunto: Re: [pgsql-es-ayuda] AYUDA Estimados, Esto es una lista de ayuda para quienes estan interesados en aprender, por favor eviten comentarios groseros y de falta de respetopor favor Saludos El 10 de diciembre de 2014, 23:38, Javier Campana jcamp...@cyg.ecmailto:jcamp...@cyg.ec escribi?: ESO MALPARIDO ASI ? Piense en su responsabilidad ambiental antes de imprimir este e-mail. -Mensaje original- De: Alvaro Herrera [mailto:alvhe...@2ndquadrant.commailto:alvhe...@2ndquadrant.com] Enviado el: mi?rcoles, 10 de diciembre de 2014 22:35 Para: Javier Campana CC: pgsql-es-ayuda@postgresql.orgmailto:pgsql-es-ayuda@postgresql.org; Alejandro Carrillo Asunto: Re: [pgsql-es-ayuda] AYUDA Javier Campana escribi?: Pana eres un pendejo si no tienes puta de idea solo di no puedo no es necesario que seas un imb?cil NO PUEDO, NO PUEDO, NO TENGO NI PUTA IDEA!! -- ?lvaro Herrerahttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.orgmailto:pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci?n: http://www.postgresql.org/mailpref/pgsql-es-ayuda -- Sin m?s que decir se despide de Usted, muy atentamente Cesar Erices Vergara Ingeniero en Gesti?n Inform?tica Analista de Sistema Especialista en ISO 27001 e ITIL Cuenta Twitter: @caerices Santiago - Chile
RE: [pgsql-es-ayuda] AYUDA
No corre el query sale un error de sintaxis Piense en su responsabilidad ambiental antes de imprimir este e-mail. -Mensaje original- De: Alvaro Herrera [mailto:alvhe...@2ndquadrant.com] Enviado el: miércoles, 10 de diciembre de 2014 21:53 Para: Javier Campana CC: pgsql-es-ayuda@postgresql.org; Alejandro Carrillo Asunto: Re: [pgsql-es-ayuda] AYUDA Javier Campana escribió: Gracias por la respuesta reemplace las fechas por los campos que tienen fecha pero no funciono porque pasa esto ?? ¿cómo, no funciona? ¿Qué es lo que no funciona? -- Álvaro Herrerahttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda
Re: [pgsql-es-ayuda] Query NOt In para optimizar
Hola Edwin Para estos haberes, en términos de rendimiento, siempre prefiero un EXISTS, y mantengo indexados los campos que hacen parte del where. Saludos Omar El 15/12/2014 a las 07:17 p.m., Edwin Quijada escribió: Hola! Estoy haciedno un select que implica dos tablas , es mas bien un except, hasta aho todo bien ya lo hice pero ando buscando una forma un poco mas rapida de lograr lo que quiero create table A( fid int, fbanco int, name varchar(20), fecha timestamp ); create table B( pid int, user varchar(20), address varchar(30), fecha_Actual date ) Necesito los registros que estan en A pero no estan en B, hice algo como esto select fid,fbanco,fecha from A where fbanco = 1 AND fid NOT IN(select pid FROM B ) group by 1,2,3 Esto funciona pero es un poco lento , alguien podria darme una idea de hacer algo un poco mas optimo. La tabla A tiene 300K y la B 200K. En otras palabras quiero todos los que estan en A pero no en B pero agrupados ya que A es una tabla de detalle por eso es que agrupo. Pense en una vista pero las vistas no se pueden indexar , o si ? Gracias - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
RE: [pgsql-es-ayuda] Query NOt In para optimizar
Interesante solucion Martin, no se me habia ocurrido nunca , voy a probarla Date: Tue, 16 Dec 2014 07:27:28 -0300 From: mar...@2ndquadrant.com To: listas_quij...@hotmail.com; pgsql-es-ayuda@postgresql.org Subject: Re: [pgsql-es-ayuda] Query NOt In para optimizar El 15/12/14 a las 21:17, Edwin Quijada escribió: Hola! Estoy haciedno un select que implica dos tablas , es mas bien un except, hasta aho todo bien ya lo hice pero ando buscando una forma un poco mas rapida de lograr lo que quiero create table A( fid int,fbanco int, name varchar(20), fecha timestamp ); create table B( pid int,user varchar(20), address varchar(30),fecha_Actual date ) Necesito los registros que estan en A pero no estan en B, hice algo como esto select fid,fbanco,fecha from A where fbanco = 1 AND fid NOT IN(select pid FROM B ) group by 1,2,3 SELECT fid, fbanco, fecha FROM A LEFT OUTER JOIN B ON (A.fid=B.pid) WHERE B.pid IS NULL GROUP BY 1,2,3; Ese subselect con el IN va a ser muy lento con la cantidad de registros que tiene la tabla B. Es mucho más optimo unir las tablas y filtrar las que tuplas de la tabla A que no tienen su correspondiente referencia en B. Saludos, -- Martín Marquéshttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
RE: [pgsql-es-ayuda] Query NOt In para optimizar
Voy a probar las dos formas con el EXPLAIN a ver como me va , aunque con el NOT IN ya lo tengo probare tambien NOT EXIST Date: Tue, 16 Dec 2014 10:20:02 -0300 From: mar...@2ndquadrant.com To: hiv...@gmail.com CC: listas_quij...@hotmail.com; pgsql-es-ayuda@postgresql.org Subject: Re: [pgsql-es-ayuda] Query NOt In para optimizar El 16/12/14 a las 10:07, Hellmuth Vargas escribió: Hola lista Martín disculpe la ignorancia, pero tengo entendido que si se coloca una condición filtró en el where de la tabla B, el left outer se convierte en inner join y se pierde el efecto. Por favor corrijame si me equivoco Te corrijo! ;) Prueba con un EXPLAIN ANALYZE para ver como PostgreSQL planifica la consulta. explain analyze select * from personas where codigo NOT IN (SELECT persona FROM usuarios); QUERY PLAN Seq Scan on personas (cost=3084.72..6036.51 rows=62552 width=46) (actual time=111.600..162.448 rows=15 loops=1) Filter: (NOT (hashed SubPlan 1)) Rows Removed by Filter: 125088 SubPlan 1 - Seq Scan on usuarios (cost=0.00..2714.98 rows=147898 width=4) (actual time=0.011..31.877 rows=147898 loops=1) Total runtime: 162.520 ms explain analyze select * from personas p LEFT OUTER JOIN usuarios u ON (p.codigo=u.persona) where u.persona IS NULL; QUERY PLAN --- Hash Anti Join (cost=5719.70..18174.42 rows=13388 width=83) (actual time=74.550..195.594 rows=15 loops=1) Hash Cond: (p.codigo = u.persona) - Seq Scan on personas p (cost=0.00..2639.03 rows=125103 width=46) (actual time=0.004..19.270 rows=125103 loops=1) - Hash (cost=2714.98..2714.98 rows=147898 width=37) (actual time=70.090..70.090 rows=147898 loops=1) Buckets: 16384 Batches: 2 Memory Usage: 4749kB - Seq Scan on usuarios u (cost=0.00..2714.98 rows=147898 width=37) (actual time=0.003..23.560 rows=147898 loops=1) Total runtime: 195.660 ms En este caso, anduvo más rápido con el NOT IN (), pero eso depende mucho de cuantos datos se esten filtrando, cuantos datos totales haya en cada tabla, etc. 200k no es una gran tabla, IMO. Saludos, -- Martín Marquéshttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda
RE: [pgsql-es-ayuda] AYUDA
Jajajajajajajaja!!! Esta es una de las pocas listas que nunca se ven este tipo de cosas, y eso tengo aqui como 12 anos, pero cuando se ven me divierto un poco No puedo, No puedo From: jcamp...@cyg.ec To: caeri...@gmail.com CC: alvhe...@2ndquadrant.com; pgsql-es-ayuda@postgresql.org; faster...@yahoo.es Subject: RE: [pgsql-es-ayuda] AYUDA Date: Fri, 12 Dec 2014 02:34:07 + Entonces que los supuestos expertos que empiecen respetando Enviado mediante OWA para iPhone De: Cesar Erices caeri...@gmail.com Enviado: jueves, 11 de diciembre de 2014 21:11:14 Para: Javier Campana Cc: Alvaro Herrera; pgsql-es-ayuda@postgresql.org; Alejandro Carrillo Asunto: Re: [pgsql-es-ayuda] AYUDA Estimados, Esto es una lista de ayuda para quienes estan interesados en aprender, por favor eviten comentarios groseros y de falta de respetopor favor Saludos El 10 de diciembre de 2014, 23:38, Javier Campana jcamp...@cyg.ec escribió: ESO MALPARIDO ASI Piense en su responsabilidad ambiental antes de imprimir este e-mail. -Mensaje original- De: Alvaro Herrera [mailto:alvhe...@2ndquadrant.com] Enviado el: miércoles, 10 de diciembre de 2014 22:35 Para: Javier Campana CC: pgsql-es-ayuda@postgresql.org; Alejandro Carrillo Asunto: Re: [pgsql-es-ayuda] AYUDA Javier Campana escribió: Pana eres un pendejo si no tienes puta de idea solo di no puedo no es necesario que seas un imbécil NO PUEDO, NO PUEDO, NO TENGO NI PUTA IDEA!! -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda -- Sin más que decir se despide de Usted, muy atentamente Cesar Erices Vergara Ingeniero en Gestión Informática Analista de Sistema Especialista en ISO 27001 e ITIL Cuenta Twitter: @caerices Santiago - Chile
RE: [pgsql-es-ayuda] AYUDA
Javier, si pegaras el error creeme podriamos ayudarte un poco mas, no digas solo Tiene un error de sintaxis porque se ve como una falta de respeto a quien te esta ayudando de que metio la pata , ponte el error y seguro te diremos que es lo que pasa. No tenemos bolas magicas, bueno yo si tengo pero no hacen ese tipo de magia :P From: jcamp...@cyg.ec To: alvhe...@2ndquadrant.com CC: pgsql-es-ayuda@postgresql.org; faster...@yahoo.es Subject: RE: [pgsql-es-ayuda] AYUDA Date: Thu, 11 Dec 2014 02:55:31 + No corre el query sale un error de sintaxis Piense en su responsabilidad ambiental antes de imprimir este e-mail. -Mensaje original- De: Alvaro Herrera [mailto:alvhe...@2ndquadrant.com] Enviado el: miércoles, 10 de diciembre de 2014 21:53 Para: Javier Campana CC: pgsql-es-ayuda@postgresql.org; Alejandro Carrillo Asunto: Re: [pgsql-es-ayuda] AYUDA Javier Campana escribió: Gracias por la respuesta reemplace las fechas por los campos que tienen fecha pero no funciono porque pasa esto ?? ¿cómo, no funciona? ¿Qué es lo que no funciona? -- Álvaro Herrerahttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda
RE: [pgsql-es-ayuda] Query NOt In para optimizar
Esos estan indexados pero como quiera el debe buscar en la tabla completa. De todas formas probare con EXIST ahora a ver que pasa. Date: Tue, 16 Dec 2014 09:06:30 -0500 From: omarbeltranc...@hotmail.com To: pgsql-es-ayuda@postgresql.org Subject: Re: [pgsql-es-ayuda] Query NOt In para optimizar Hola Edwin Para estos haberes, en términos de rendimiento, siempre prefiero un EXISTS, y mantengo indexados los campos que hacen parte del where. Saludos Omar El 15/12/2014 a las 07:17 p.m., Edwin Quijada escribió: Hola! Estoy haciedno un select que implica dos tablas , es mas bien un except, hasta aho todo bien ya lo hice pero ando buscando una forma un poco mas rapida de lograr lo que quiero create table A( fid int, fbanco int, name varchar(20), fecha timestamp ); create table B( pid int, user varchar(20), address varchar(30), fecha_Actual date ) Necesito los registros que estan en A pero no estan en B, hice algo como esto select fid,fbanco,fecha from A where fbanco = 1 AND fid NOT IN(select pid FROM B ) group by 1,2,3 Esto funciona pero es un poco lento , alguien podria darme una idea de hacer algo un poco mas optimo. La tabla A tiene 300K y la B 200K. En otras palabras quiero todos los que estan en A pero no en B pero agrupados ya que A es una tabla de detalle por eso es que agrupo. Pense en una vista pero las vistas no se pueden indexar , o si ? Gracias - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
Re: [pgsql-es-ayuda] AYUDA
chicos, participo poco en la lista, puesto que ahora mismo estoy enfocado en el desarrollo de varias cosas que no requiere que use postgres, el tema es que muchas veces cualquiera viene a preguntar cualquier cosa a la lista, o sea, NO SEAMOS VAMPIROS DE AYUDA (O HELP VAMPIRE)... primero busquen en internet, en los foros, y si no encuentran, entonces pregunten... y si algo he visto en esta lista es que SÍ, SI HAY EXPERTOS DE HABLA HISPANA... Y LOS CHICOS QUE RESPONDEN LO HACEN MUY BIEN... de antemano... un gran saludo y respeto para ellos que se toman el trabajo de ayudarnos a todos saludos = El tamaño de tus logros depende del tamaño de tus metas. C++ and Qt Senior Developer Lic. Computer Science Buenos Aires, Argentina On Dec 16, 2014, at 11:42 AM, Edwin Quijada listas_quij...@hotmail.com wrote: Jajajajajajajaja!!! Esta es una de las pocas listas que nunca se ven este tipo de cosas, y eso tengo aqui como 12 anos, pero cuando se ven me divierto un poco No puedo, No puedo From: jcamp...@cyg.ec mailto:jcamp...@cyg.ec To: caeri...@gmail.com mailto:caeri...@gmail.com CC: alvhe...@2ndquadrant.com mailto:alvhe...@2ndquadrant.com; pgsql-es-ayuda@postgresql.org mailto:pgsql-es-ayuda@postgresql.org; faster...@yahoo.es mailto:faster...@yahoo.es Subject: RE: [pgsql-es-ayuda] AYUDA Date: Fri, 12 Dec 2014 02:34:07 + Entonces que los supuestos expertos que empiecen respetando Enviado mediante OWA para iPhone De: Cesar Erices caeri...@gmail.com mailto:caeri...@gmail.com Enviado: jueves, 11 de diciembre de 2014 21:11:14 Para: Javier Campana Cc: Alvaro Herrera; pgsql-es-ayuda@postgresql.org mailto:pgsql-es-ayuda@postgresql.org; Alejandro Carrillo Asunto: Re: [pgsql-es-ayuda] AYUDA Estimados, Esto es una lista de ayuda para quienes estan interesados en aprender, por favor eviten comentarios groseros y de falta de respetopor favor Saludos El 10 de diciembre de 2014, 23:38, Javier Campana jcamp...@cyg.ec mailto:jcamp...@cyg.ec escribió: ESO MALPARIDO ASI Piense en su responsabilidad ambiental antes de imprimir este e-mail. -Mensaje original- De: Alvaro Herrera [mailto:alvhe...@2ndquadrant.com mailto:alvhe...@2ndquadrant.com] Enviado el: miércoles, 10 de diciembre de 2014 22:35 Para: Javier Campana CC: pgsql-es-ayuda@postgresql.org mailto:pgsql-es-ayuda@postgresql.org; Alejandro Carrillo Asunto: Re: [pgsql-es-ayuda] AYUDA Javier Campana escribió: Pana eres un pendejo si no tienes puta de idea solo di no puedo no es necesario que seas un imbécil NO PUEDO, NO PUEDO, NO TENGO NI PUTA IDEA!! -- Álvaro Herrerahttp://www.2ndQuadrant.com/ http://www.2ndquadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org mailto:pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda http://www.postgresql.org/mailpref/pgsql-es-ayuda -- Sin más que decir se despide de Usted, muy atentamente Cesar Erices Vergara Ingeniero en Gestión Informática Analista de Sistema Especialista en ISO 27001 e ITIL Cuenta Twitter: @caerices Santiago - Chile
RE: [pgsql-es-ayuda] AYUDA
Yo no soy un experto en esto y por eso pido ayuda pero la persona irrespetuosa que me respondió con el tema de la bola de cristal es un pendejo , entonces si necesitan más detalle simplemente pongan pana copianos el error y no respondan una estupidez , como dije ya me ayudaron en otro foro gracias Enviado mediante OWA para iPhone De: Edwin Quijada listas_quij...@hotmail.com Enviado: martes, 16 de diciembre de 2014 9:44:52 Para: Javier Campana; Alvaro Herrera Cc: pgsql-es-ayuda@postgresql.org; Alejandro Carrillo Asunto: RE: [pgsql-es-ayuda] AYUDA Javier, si pegaras el error creeme podriamos ayudarte un poco mas, no digas solo Tiene un error de sintaxis porque se ve como una falta de respeto a quien te esta ayudando de que metio la pata , ponte el error y seguro te diremos que es lo que pasa. No tenemos bolas magicas, bueno yo si tengo pero no hacen ese tipo de magia :P From: jcamp...@cyg.ec To: alvhe...@2ndquadrant.com CC: pgsql-es-ayuda@postgresql.org; faster...@yahoo.es Subject: RE: [pgsql-es-ayuda] AYUDA Date: Thu, 11 Dec 2014 02:55:31 + No corre el query sale un error de sintaxis ? Piense en su responsabilidad ambiental antes de imprimir este e-mail. -Mensaje original- De: Alvaro Herrera [mailto:alvhe...@2ndquadrant.com] Enviado el: miércoles, 10 de diciembre de 2014 21:53 Para: Javier Campana CC: pgsql-es-ayuda@postgresql.org; Alejandro Carrillo Asunto: Re: [pgsql-es-ayuda] AYUDA Javier Campana escribió: Gracias por la respuesta reemplace las fechas por los campos que tienen fecha pero no funciono porque pasa esto ?? ¿cómo, no funciona? ¿Qué es lo que no funciona? -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci?n: http://www.postgresql.org/mailpref/pgsql-es-ayuda
Re: [pgsql-es-ayuda] AYUDA
Javier Campana escribió: Yo no soy un experto en esto y por eso pido ayuda pero la persona irrespetuosa que me respondió con el tema de la bola de cristal es un pendejo , entonces si necesitan más detalle simplemente pongan pana copianos el error y no respondan una estupidez , como dije ya me ayudaron en otro foro gracias Ah, que bueno, o sea no te veremos acá otra vez! Que alegría. -- Álvaro Herrerahttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
RE: [pgsql-es-ayuda] Query NOt In para optimizar
No puedo usar esa forma porque hago otro filtro por la tabla principal y se convierte entonces en un INNER Date: Tue, 16 Dec 2014 08:43:55 -0500 Subject: Re: [pgsql-es-ayuda] Query NOt In para optimizar From: hiv...@gmail.com To: mar...@2ndquadrant.com CC: pgsql-es-ayuda@postgresql.org; listas_quij...@hotmail.com Ahh ok no había probando nunca con un IS NULL, gracias por la corrección!!! El 16/12/2014 08:20, Martín Marqués mar...@2ndquadrant.com escribió: El 16/12/14 a las 10:07, Hellmuth Vargas escribió: Hola lista Martín disculpe la ignorancia, pero tengo entendido que si se coloca una condición filtró en el where de la tabla B, el left outer se convierte en inner join y se pierde el efecto. Por favor corrijame si me equivoco Te corrijo! ;) Prueba con un EXPLAIN ANALYZE para ver como PostgreSQL planifica la consulta. explain analyze select * from personas where codigo NOT IN (SELECT persona FROM usuarios); QUERY PLAN Seq Scan on personas (cost=3084.72..6036.51 rows=62552 width=46) (actual time=111.600..162.448 rows=15 loops=1) Filter: (NOT (hashed SubPlan 1)) Rows Removed by Filter: 125088 SubPlan 1 - Seq Scan on usuarios (cost=0.00..2714.98 rows=147898 width=4) (actual time=0.011..31.877 rows=147898 loops=1) Total runtime: 162.520 ms explain analyze select * from personas p LEFT OUTER JOIN usuarios u ON (p.codigo=u.persona) where u.persona IS NULL; QUERY PLAN --- Hash Anti Join (cost=5719.70..18174.42 rows=13388 width=83) (actual time=74.550..195.594 rows=15 loops=1) Hash Cond: (p.codigo = u.persona) - Seq Scan on personas p (cost=0.00..2639.03 rows=125103 width=46) (actual time=0.004..19.270 rows=125103 loops=1) - Hash (cost=2714.98..2714.98 rows=147898 width=37) (actual time=70.090..70.090 rows=147898 loops=1) Buckets: 16384 Batches: 2 Memory Usage: 4749kB - Seq Scan on usuarios u (cost=0.00..2714.98 rows=147898 width=37) (actual time=0.003..23.560 rows=147898 loops=1) Total runtime: 195.660 ms En este caso, anduvo más rápido con el NOT IN (), pero eso depende mucho de cuantos datos se esten filtrando, cuantos datos totales haya en cada tabla, etc. 200k no es una gran tabla, IMO. Saludos, -- Martín Marquéshttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training Services
Re: [pgsql-es-ayuda] Query NOt In para optimizar
El 16/12/14 a las 12:05, Edwin Quijada escribió: No puedo usar esa forma porque hago otro filtro por la tabla principal y se convierte entonces en un INNER Haz dos JOINs y usa alias diferentes en cada JOIN para poder filtrar por una u otra. Por ejemplo: SELECT fid, fbanco, fecha FROM (A LEFT OUTER JOIN B ON (A.fid=B.pid)) JOIN B as b2 WHERE B.pid IS NULL AND b2.user = 'Pepe' GROUP BY 1,2,3; Saludos, -- Martín Marquéshttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
Re: [pgsql-es-ayuda] AYUDA
Javier Campana: IMPRESENTABLE... To ma te las El 16 de diciembre de 2014, 12:03, Alvaro Herrera alvhe...@2ndquadrant.com escribió: Javier Campana escribió: Yo no soy un experto en esto y por eso pido ayuda pero la persona irrespetuosa que me respondió con el tema de la bola de cristal es un pendejo , entonces si necesitan más detalle simplemente pongan pana copianos el error y no respondan una estupidez , como dije ya me ayudaron en otro foro gracias Ah, que bueno, o sea no te veremos acá otra vez! Que alegría. -- Álvaro Herrerahttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org ) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
RE: [pgsql-es-ayuda] Query NOt In para optimizar
Aqui esta el seelect con NOT IN, hice una vista para el primer select explain analyze select *,getserietk(tk) from v_tk_ganados where banca=1 AND tk not IN ( SELECT c.f_ticket FROM public.t_tickets_pagados c ); QUERY PLAN Subquery Scan on v_tk_ganados (cost=1556.33..2868703.42 rows=1786 width=52) (actual time=518.040..40231.410 rows=129 loops=1) Filter: (NOT (SubPlan 1)) Rows Removed by Filter: 3387 - HashAggregate (cost=1556.33..1592.04 rows=3571 width=21) (actual time=49.562..61.026 rows=3516 loops=1) - Seq Scan on t_detalle_tickets_ganadores (cost=0.00..1500.00 rows=4506 width=21) (actual time=0.019..42.658 rows=4457 loops=1) Filter: (f_idbanca = 1) Rows Removed by Filter: 59240 SubPlan 1 - Materialize (cost=0.00..1475.00 rows=52200 width=4) (actual time=0.002..6.003 rows=25425 loops=3516) - Seq Scan on t_tickets_pagados c (cost=0.00..1010.00 rows=52200 width=4) (actual time=0.005..40.605 rows=52159 loops=1) Total runtime: 40231.917 ms(11 rows) Date: Tue, 16 Dec 2014 10:20:02 -0300 From: mar...@2ndquadrant.com To: hiv...@gmail.com CC: listas_quij...@hotmail.com; pgsql-es-ayuda@postgresql.org Subject: Re: [pgsql-es-ayuda] Query NOt In para optimizar El 16/12/14 a las 10:07, Hellmuth Vargas escribió: Hola lista Martín disculpe la ignorancia, pero tengo entendido que si se coloca una condición filtró en el where de la tabla B, el left outer se convierte en inner join y se pierde el efecto. Por favor corrijame si me equivoco Te corrijo! ;) Prueba con un EXPLAIN ANALYZE para ver como PostgreSQL planifica la consulta. explain analyze select * from personas where codigo NOT IN (SELECT persona FROM usuarios); QUERY PLAN Seq Scan on personas (cost=3084.72..6036.51 rows=62552 width=46) (actual time=111.600..162.448 rows=15 loops=1) Filter: (NOT (hashed SubPlan 1)) Rows Removed by Filter: 125088 SubPlan 1 - Seq Scan on usuarios (cost=0.00..2714.98 rows=147898 width=4) (actual time=0.011..31.877 rows=147898 loops=1) Total runtime: 162.520 ms explain analyze select * from personas p LEFT OUTER JOIN usuarios u ON (p.codigo=u.persona) where u.persona IS NULL; QUERY PLAN --- Hash Anti Join (cost=5719.70..18174.42 rows=13388 width=83) (actual time=74.550..195.594 rows=15 loops=1) Hash Cond: (p.codigo = u.persona) - Seq Scan on personas p (cost=0.00..2639.03 rows=125103 width=46) (actual time=0.004..19.270 rows=125103 loops=1) - Hash (cost=2714.98..2714.98 rows=147898 width=37) (actual time=70.090..70.090 rows=147898 loops=1) Buckets: 16384 Batches: 2 Memory Usage: 4749kB - Seq Scan on usuarios u (cost=0.00..2714.98 rows=147898 width=37) (actual time=0.003..23.560 rows=147898 loops=1) Total runtime: 195.660 ms En este caso, anduvo más rápido con el NOT IN (), pero eso depende mucho de cuantos datos se esten filtrando, cuantos datos totales haya en cada tabla, etc. 200k no es una gran tabla, IMO. Saludos, -- Martín Marquéshttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training Services
Re: [pgsql-es-ayuda] AYUDA
Javier, Que poco respeto por nuestros DINOSAURIOS del PostgreSQL (con mucho respeto). A mi también me han casi insultado y todo por mis preguntas medias estupidas, pero lo recuerdo con cariño.. me recuerdan a mi abuelo!, o a mi sensei de ninjutsu. El que no abusa de su autoridad pierde su prestigio. Pero aveces es un abuso mal entendido. La verdad es que la falta de disciplina, a cualquiera le saca de sus casillas!!. Cada uno tiene sus modos y nadie está obligado a estar en esta lista. Al menos a mi me han ayudado un montón! y si alguno me ha ridiculizado, mientras me ayude a resolver problemas, bien! Saludos Eduardo PD.. Ya grandes, la única forma de evolución es por medio del sufrimiento y la disciplina!. El 16 de diciembre de 2014, 11:32 a. m., Guillermo E. Villanueva guillermo...@gmail.com escribió: Javier Campana: IMPRESENTABLE... To ma te las El 16 de diciembre de 2014, 12:03, Alvaro Herrera alvhe...@2ndquadrant.com escribió: Javier Campana escribió: Yo no soy un experto en esto y por eso pido ayuda pero la persona irrespetuosa que me respondió con el tema de la bola de cristal es un pendejo , entonces si necesitan más detalle simplemente pongan pana copianos el error y no respondan una estupidez , como dije ya me ayudaron en otro foro gracias Ah, que bueno, o sea no te veremos acá otra vez! Que alegría. -- Álvaro Herrerahttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training Services - Enviado a la lista de correo pgsql-es-ayuda ( pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
RE: [pgsql-es-ayuda] AYUDA
Javier Por favor retirare de la lista El 16/12/2014 10:04, Javier Campana jcamp...@cyg.ec escribió: Yo no soy un experto en esto y por eso pido ayuda pero la persona irrespetuosa que me respondió con el tema de la bola de cristal es un pendejo , entonces si necesitan más detalle simplemente pongan pana copianos el error y no respondan una estupidez , como dije ya me ayudaron en otro foro gracias Enviado mediante OWA para iPhone De: Edwin Quijada listas_quij...@hotmail.com Enviado: martes, 16 de diciembre de 2014 9:44:52 Para: Javier Campana; Alvaro Herrera Cc: pgsql-es-ayuda@postgresql.org; Alejandro Carrillo Asunto: RE: [pgsql-es-ayuda] AYUDA Javier, si pegaras el error creeme podriamos ayudarte un poco mas, no digas solo Tiene un error de sintaxis porque se ve como una falta de respeto a quien te esta ayudando de que metio la pata , ponte el error y seguro te diremos que es lo que pasa. No tenemos bolas magicas, bueno yo si tengo pero no hacen ese tipo de magia :P From: jcamp...@cyg.ec To: alvhe...@2ndquadrant.com CC: pgsql-es-ayuda@postgresql.org; faster...@yahoo.es Subject: RE: [pgsql-es-ayuda] AYUDA Date: Thu, 11 Dec 2014 02:55:31 + No corre el query sale un error de sintaxis Piense en su responsabilidad ambiental antes de imprimir este e-mail. -Mensaje original- De: Alvaro Herrera [mailto:alvhe...@2ndquadrant.com] Enviado el: miércoles, 10 de diciembre de 2014 21:53 Para: Javier Campana CC: pgsql-es-ayuda@postgresql.org; Alejandro Carrillo Asunto: Re: [pgsql-es-ayuda] AYUDA Javier Campana escribió: Gracias por la respuesta reemplace las fechas por los campos que tienen fecha pero no funciono porque pasa esto ?? ¿cómo, no funciona? ¿Qué es lo que no funciona? -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training Services - Enviado a la lista de correo pgsql-es-ayuda ( pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda
Re: [pgsql-es-ayuda] AYUDA
Javier, supongo que nunca fue tu intención, pero caíste en lo que comunmente se conoce como HOYGAN: Gente irrespetuosa, prepotente, que con malas maneras pretende de un grupo de usuarios SOPORTE en vez de ayuda. Se acostumbra maltratar a los HOYGAN en cualquier lista o foro, no es exclusividad de esta lista, por lo que te recomiendo que antes de preguntar algo, verifiques que lo que escribiste puede ser interpretado por alguien que no está viendo tu pantalla. Como ejemplo que varios te mencionaron, decir 'me tira error' no es algo inteligible para nosotros, que no estamos viendo tu pantalla, y no sabemos si el error es porque la idea que te pasaron estaba mal, o porque la copiaste mal, o por alguna otra razón. Dicho todo lo anterior, y en este momento, tus opciones son: continuar participando (sin prepotencia y sin tomarte los comentarios sarcásticos como ofensas personales) o irte de la lista. Pretender cambiar algo que funciona así desde que se creó, no es una empresa que te recomiende encarar. Saludos! El 16 de diciembre de 2014, 13:10, jvenegasperu . jvenegasp...@gmail.com escribió: Javier Por favor retirare de la lista El 16/12/2014 10:04, Javier Campana jcamp...@cyg.ec escribió: Yo no soy un experto en esto y por eso pido ayuda pero la persona irrespetuosa que me respondió con el tema de la bola de cristal es un pendejo , entonces si necesitan más detalle simplemente pongan pana copianos el error y no respondan una estupidez , como dije ya me ayudaron en otro foro gracias Enviado mediante OWA para iPhone De: Edwin Quijada listas_quij...@hotmail.com Enviado: martes, 16 de diciembre de 2014 9:44:52 Para: Javier Campana; Alvaro Herrera Cc: pgsql-es-ayuda@postgresql.org; Alejandro Carrillo Asunto: RE: [pgsql-es-ayuda] AYUDA Javier, si pegaras el error creeme podriamos ayudarte un poco mas, no digas solo Tiene un error de sintaxis porque se ve como una falta de respeto a quien te esta ayudando de que metio la pata , ponte el error y seguro te diremos que es lo que pasa. No tenemos bolas magicas, bueno yo si tengo pero no hacen ese tipo de magia :P From: jcamp...@cyg.ec To: alvhe...@2ndquadrant.com CC: pgsql-es-ayuda@postgresql.org; faster...@yahoo.es Subject: RE: [pgsql-es-ayuda] AYUDA Date: Thu, 11 Dec 2014 02:55:31 + No corre el query sale un error de sintaxis Piense en su responsabilidad ambiental antes de imprimir este e-mail. -Mensaje original- De: Alvaro Herrera [mailto:alvhe...@2ndquadrant.com] Enviado el: miércoles, 10 de diciembre de 2014 21:53 Para: Javier Campana CC: pgsql-es-ayuda@postgresql.org; Alejandro Carrillo Asunto: Re: [pgsql-es-ayuda] AYUDA Javier Campana escribió: Gracias por la respuesta reemplace las fechas por los campos que tienen fecha pero no funciono porque pasa esto ?? ¿cómo, no funciona? ¿Qué es lo que no funciona? -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training Services - Enviado a la lista de correo pgsql-es-ayuda ( pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda -- http://www.infracoop.com.ar/ *Manuel Fernando Aller* DBA Senior InfraCoop Cooperativa de Infraestructura y Bases de Datos skype: manuel.aller Mobile: +54 9 11 4054 4779 https://www.facebook.com/InfraCoop https://twitter.com/infracoop http://www.facttic.org.ar/miembros/infracoop Infracoop es miembro de FACTTIC http://www.facttic.org.ar/