Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/11/2010, 14:03
Avatar de quinqui
quinqui
 
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: Subconsultas vs varias consultas?

Hola Rivermillos.

Eso podrías tratar de comprobarlo con tu cliente Mysql. Generalmente los clientes te informan cuánto demora una consulta en ejecutarse.

Por eso, escribe allí una consulta y ejecútala: anota cuánto tiempo tardó (generalmente son milisegundos), y luego has lo mismo con la otra. De ahí compara: debieras elegir la que demora menos. Pero a veces ocurre que la demora en la carga es relativa y está sujeta a otros parámetros del servidor (cuánta gente más está conectada, cuántas peticiones está recibiendo al mismo tiempo, por ej.).

En Mysql y otros lenguajes existe una instrucción llamada EXPLAIN. Si la usas puedes también conocer en detalle el esfuerzo que hace tu servidor para ejecutar la consulta. Se usa algo así:

Código:
EXPLAIN SELECT * FROM tabla
Te devuelve una tabla con parámetros. Puedes revisar su significado en la documentación de Mysql: http://dev.mysql.com/doc/refman/5.0/es/explain.html

De cualquier forma, y volviendo a tu consulta original, el subquery no es malo usarlo mientras la tabla a la que consultes tenga pocos registros. Si tuviese 1 millón, no es para nada conveniente. Aunque igual puedes lograr maravillas si indexas bien la tabla, de modo que se agiliza la consulta en mucho.

Saludos!!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*