2014-08-12 11:05 GMT-03:00 Pedro B. Alves <[email protected]>: > >>> >> Dependendo da versão do PostgreSQL, se você fizer um EXPLAIN ANALYZE de >> cada uma delas, provavelmente o plano será exatamente o mesmo. >> > > Utilizo a versão 9.3.x > > executei o EXPLAIN.. > > SELECT twe.* > , (SELECT descricao FROM tespecializacoes WHERE idespecializacao = > twe.idespecializacao) AS especializacao > FROM tworkflowetapas twe > > > "Seq Scan on tworkflowetapas twe (cost=0.00..16.36 rows=14 width=30) > (actual time=0.040..0.142 rows=14 loops=1)" > " SubPlan 1" > " -> Seq Scan on tespecializacoes (cost=0.00..1.09 rows=1 width=218) > (actual time=0.003..0.004 rows=1 loops=14)" > " Filter: (idespecializacao = twe.idespecializacao)" > " Rows Removed by Filter: 7" > "Total runtime: 0.220 ms" > > > > > SELECT twe.* > FROM tworkflowetapas twe > LEFT JOIN tespecializacoes esp ON (twe.idespecializacao = > esp.idespecializacao) > > > "Seq Scan on tworkflowetapas twe (cost=0.00..1.14 rows=14 width=30) > (actual time=0.013..0.016 rows=14 loops=1)" > "Total runtime: 0.068 ms" > > O tempo da segunda consulta é menor, pois o banco está ignorando a junção. Você tem que utilizar pelo menos algum campo da tabela para que os dois planos de execução sejam realmente iguais, e retornem a mesma coisa.
[]'s
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
