[pyar] OT: Comparación de queries

Roberto Alsina ralsina en netmanagers.com.ar
Dom Jun 20 11:48:56 ART 2010


Martin Cerdeira writes:

> « HTML content follows »
> 
> 2010/6/20 Sebastian Bassi 
> <<URL:mailto:sbassi en clubdelarazon.org>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:
>    <URL:http://stackoverflow.com/questions/2649637/difference-between-where 
>    -and-nested-queries>http://stackoverflow.com/questions/2649637/differenc 
>    e-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.

Tal vez sea buena idea pedir un EXPLAIN para ver que hace cada una.



More information about the pyar mailing list