[pyar] OT: Comparación de queries

Martin Cerdeira martincerdeira en gmail.com
Dom Jun 20 11:42:23 ART 2010


2010/6/20 Sebastian Bassi <sbassi en clubdelarazon.org>

> Hice la misma query de 2 maneras:
>
> SELECT q_name FROM miranda WHERE parID in (SELECT parID FROM parid_bin
> WHERE bin = '10B');
> Contra:
> SELECT q_name FROM miranda,parid_bin WHERE
> miranda.parID=parid_bin.parID AND parid_bin.bin = '10B';
>
> Con mi dataset ambas tardan lo mismo:
> CPU Time: user 0.004000 sys 0.000000
>
> Pero queria saber si en sus experiencias o en base a la teoria hay
> alguna diferencia o una forma preferible entre las 2.
> Encontré en StackOverflow esto:
>
> http://stackoverflow.com/questions/2649637/difference-between-where-and-nested-queries
> Donde dice que las queries no son equivalentes porque si hay ids
> repetidos, tendras resultados repetidos. Pero no es mi caso porque mis
> ids son únicos.
> Tambien dice que la equijoin puede ser mas rápida porque la DB hace
> una optimización, pero queria igual ver sus opiniones.
>
>
Yo haría el 2do. Hasta donde se, tendría que ser (en teoría) más rápido que
hacer un subquery. Vos comentabas que no notas diferencia de tiempo de
ejecución, pero, con un volumen de datos grande, puede que lo notes.

-------------------------------------
Martín Cerdeira - Software Developer
[email] martincerdeira en gmail.com
[web] http://www.codmacs.blogspot.com/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100620/f3a28c6b/attachment.html>


More information about the pyar mailing list